2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-18 18:23:53 +08:00
linux-next/drivers/parisc
John David Anglin 116d753308 parisc: Use lpa instruction to load physical addresses in driver code
Most I/O in the kernel is done using the kernel offset mapping.
However, there is one API that uses aliased kernel address ranges:

> The final category of APIs is for I/O to deliberately aliased address
> ranges inside the kernel.  Such aliases are set up by use of the
> vmap/vmalloc API.  Since kernel I/O goes via physical pages, the I/O
> subsystem assumes that the user mapping and kernel offset mapping are
> the only aliases.  This isn't true for vmap aliases, so anything in
> the kernel trying to do I/O to vmap areas must manually manage
> coherency.  It must do this by flushing the vmap range before doing
> I/O and invalidating it after the I/O returns.

For this reason, we should use the hardware lpa instruction to load the
physical address of kernel virtual addresses in the driver code.

I believe we only use the vmap/vmalloc API with old PA 1.x processors
which don't have a sba, so we don't hit this problem.

Tested on c3750, c8000 and rp3440.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
2019-06-06 14:12:22 +02:00
..
asp.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
ccio-dma.c parisc: Use lpa instruction to load physical addresses in driver code 2019-06-06 14:12:22 +02:00
dino.c parisc/dino: use container_of in DINO_DEV 2019-02-21 20:37:12 +01:00
eisa_eeprom.c parisc: Show unhashed EISA EEPROM address 2018-01-02 21:01:02 +01:00
eisa_enumerator.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
eisa.c parisc: move internal implementation details out of <asm/dma-mapping.h> 2019-02-21 20:37:11 +01:00
gsc.c parisc: Convert irq namespace 2011-03-29 14:48:08 +02:00
gsc.h
hppb.c parisc: move internal implementation details out of <asm/dma-mapping.h> 2019-02-21 20:37:11 +01:00
iommu-helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
iommu.h parisc: properly type the return value of parisc_walk_tree 2019-02-21 20:37:12 +01:00
iosapic_private.h
iosapic.c Revert: parisc: Use F_EXTEND() macro in iosapic code 2019-04-06 19:07:55 +02:00
Kconfig eisa: consolidate EISA Kconfig entry in drivers/eisa 2018-11-23 11:46:22 +09:00
lasi.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
lba_pci.c parisc: remove the HBA_DATA macro 2019-02-21 20:37:12 +01:00
led.c parisc: Skip registering LED when running in QEMU 2019-05-03 23:47:39 +02:00
Makefile parisc: remove the dead ccio-rm-dma driver 2018-10-17 08:18:00 +02:00
pdc_stable.c parisc: pdc_stable: Fix locking when creating sysfs links 2017-07-31 16:43:13 +02:00
power.c parisc: Directly call machine_power_off() in power button driver 2018-03-27 18:52:22 +02:00
README.dino Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
sba_iommu.c parisc: Use lpa instruction to load physical addresses in driver code 2019-06-06 14:12:22 +02:00
superio.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00
wax.c parisc: Fix section mismatches in parisc core drivers 2017-08-22 16:34:36 +02:00

/*
** HP VISUALIZE Workstation PCI Bus Defect
**
** "HP has discovered a potential system defect that can affect
** the behavior of five models of HP VISUALIZE workstations when
** equipped with third-party or customer-installed PCI I/O expansion
** cards. The defect is limited to the HP C180, C160, C160L, B160L,
** and B132L VISUALIZE workstations, and will only be encountered
** when data is transmitted through PCI I/O expansion cards on the
** PCI bus. HP-supplied graphics cards that utilize the PCI bus are
** not affected."
**
** http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?locale=en_US&prodTypeId=12454&prodSeriesId=44443
**
**	Product		First Good Serial Number
**  C200/C240 (US)	US67350000
**B132L+/B180 (US)	US67390000
**   C200 (Europe)	3713G01000
**  B180L (Europe)	3720G01000
**
** Note that many boards were fixed/replaced under a free replacement
** program. Assume a machine is only "suspect" until proven otherwise.
**
** "The pci_check program will also be available as application
**  patch PHSS_12295"
*/