linux/drivers/scsi/lpfc
James Smart 4c06619fc4 scsi: lpfc: use __raw_writeX on DPP copies
Commit 1351e69fc6 ("scsi: lpfc: Add push-to-adapter support to sli4")
fails compilation on some 32-bit systems as writeq() is not supported on
all architectures. Additionally, it was pointed out that as writeX()
does byteswapping if necessary for pci vs the cpu endianness, the code
was broken on BE PPC.

After discussions with Arnd Bergmann, we've resolved the issue
to the following:
  Instead of writeX(), use __raw_writeX() - which writes to io
    space while preserving byte order. To use this, the code
    was changed to use a different buffer that lpfc prepped
    via sli_pcimem_bcopy() that was set to the bytestream to
    be written.
  On platforms with __raw_writeq support, use the routine, otherwise
    use __raw_writel()

[mkp: checkpatch]

Fixes: 1351e69fc6 ("scsi: lpfc: Add push-to-adapter support to sli4")
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-03-06 21:25:39 -05:00
..
lpfc_attr.c scsi: lpfc: Work around NVME cmd iu SGL type 2018-02-22 20:39:29 -05:00
lpfc_attr.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_bsg.c scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright 2018-02-12 11:43:24 -05:00
lpfc_ct.c scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_debugfs.c scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_debugfs.h scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_disc.h scsi: lpfc: Correct driver deregistrations with host nvme transport 2017-12-04 20:32:54 -05:00
lpfc_els.c scsi: lpfc: Add 64G link speed support 2018-02-22 20:39:29 -05:00
lpfc_hbadisc.c scsi: lpfc: Add 64G link speed support 2018-02-22 20:39:29 -05:00
lpfc_hw4.h scsi: lpfc: Work around NVME cmd iu SGL type 2018-02-22 20:39:29 -05:00
lpfc_hw.h scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_ids.h scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 2018-02-22 20:39:30 -05:00
lpfc_init.c scsi: lpfc: Work around NVME cmd iu SGL type 2018-02-22 20:39:29 -05:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c scsi: lpfc: Add 64G link speed support 2018-02-22 20:39:29 -05:00
lpfc_mem.c scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright 2018-02-12 11:43:24 -05:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright 2018-02-12 11:43:24 -05:00
lpfc_nvme.c scsi: lpfc: Work around NVME cmd iu SGL type 2018-02-22 20:39:29 -05:00
lpfc_nvme.h scsi: lpfc: Beef up stat counters for debug 2017-12-20 21:11:48 -05:00
lpfc_nvmet.c scsi: lpfc: Add embedded data pointers for enhanced performance 2018-02-22 20:39:29 -05:00
lpfc_nvmet.h scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright 2018-02-12 11:43:24 -05:00
lpfc_scsi.c scsi: lpfc: Add embedded data pointers for enhanced performance 2018-02-22 20:39:29 -05:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Add if_type=6 support for cycling valid bits 2018-02-22 20:39:29 -05:00
lpfc_sli.c scsi: lpfc: use __raw_writeX on DPP copies 2018-03-06 21:25:39 -05:00
lpfc_sli.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_version.h scsi: lpfc: update driver version to 12.0.0.0 2018-02-22 20:39:30 -05:00
lpfc_vport.c scsi: lpfc: Disable NPIV support if NVME is enabled 2017-10-02 22:46:39 -04:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Work around NVME cmd iu SGL type 2018-02-22 20:39:29 -05:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00