1. 03 1月, 2020 1 次提交
    • A
      compat_ioctl: scsi: handle HDIO commands from drivers · 75c0b0e1
      Arnd Bergmann 提交于
      The ata_sas_scsi_ioctl() function implements a number of HDIO_* commands
      for SCSI devices, it is used by all libata drivers as well as a few
      drivers that support SAS attached SATA drives.
      
      The only command that is not safe for compat ioctls here is
      HDIO_GET_32BIT. Change the implementation to check for in_compat_syscall()
      in order to do both cases correctly, and change all callers to use it
      as both native and compat callback pointers, including the indirect
      callers through sas_ioctl and ata_scsi_ioctl.
      Reviewed-by: NBen Hutchings <ben.hutchings@codethink.co.uk>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      75c0b0e1
  2. 13 11月, 2019 2 次提交
  3. 25 10月, 2019 4 次提交
  4. 11 9月, 2019 5 次提交
  5. 08 8月, 2019 9 次提交
  6. 21 6月, 2019 1 次提交
  7. 19 6月, 2019 4 次提交
  8. 31 5月, 2019 1 次提交
  9. 13 4月, 2019 5 次提交
  10. 07 3月, 2019 3 次提交
  11. 26 2月, 2019 1 次提交
  12. 09 2月, 2019 4 次提交
    • J
      scsi: hisi_sas: Do some more tidy-up · 4a8bec88
      John Garry 提交于
      Do some very minor tidy-up, for things like needlessly initing variable and
      not leaving whitespace before quote endings.
      
      Originally-from: Xiang Chen <chenxiang66@hisilicon.com>
      Originally-from: Luo Jiaxing <luojiaxing@huawei.com>
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      4a8bec88
    • X
      scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental · 4fefe5bb
      Xiang Chen 提交于
      For auto-control irq affinity mode, choose the dq to deliver IO according
      to the current CPU.
      
      Then it decreases the performance regression that fio and CQ interrupts are
      processed on different node.
      
      For user control irq affinity mode, keep it as before.
      
      To realize it, also need to distinguish the usage of dq lock and sas_dev
      lock.
      
      We mark as experimental due to ongoing discussion on managed MSI IRQ
      during hotplug:
      https://marc.info/?l=linux-scsi&m=154876335707751&w=2
      
      We're almost at the point where we can expose multiple queues to the upper
      layer for SCSI MQ, but we need to sort out the per-HBA tags performance
      issue.
      Signed-off-by: NXiang Chen <chenxiang66@hisilicon.com>
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      4fefe5bb
    • J
      scsi: hisi_sas: Issue internal abort on all relevant queues · 795f25a3
      John Garry 提交于
      To support queue mapped to a CPU, it needs to be ensured that issuing an
      internal abort is safe, in that it is guaranteed that an internal abort is
      processed for a single IO or a device after all the relevant command(s)
      which it is attempting to abort have been processed by the controller.
      
      Currently we only deliver commands for any device on a single queue to
      solve this problem, as we know that commands issued on the same queue will
      be processed in order, and we will not have a scenario where the internal
      abort is racing against a command(s) which it is trying to abort.
      
      To enqueue commands on queue mapped to a CPU, choosing a queue for an
      command is based on the associated queue for the current CPU, so this is
      not safe for internal abort since it would definitely not be guaranteed
      that commands for the command devices are issued on the same queue.
      
      To solve this issue, we take a bludgeoning approach, and issue a separate
      internal abort on any queue(s) relevant to the command or device, in that
      we will be guaranteed that at least one of these internal aborts will be
      received last in the controller.
      
      So, for aborting a single command, we can just force the internal abort to
      be issued on the same queue as the command which we are trying to abort.
      
      For aborting all commands associated with a device, we issue a separate
      internal abort on all relevant queues. Issuing multiple internal aborts in
      this fashion would have not side affect.
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NXiang Chen <chenxiang66@hisilicon.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      795f25a3
    • X
      scsi: hisi_sas: Add support for DIX feature for v3 hw · b3cce125
      Xiang Chen 提交于
      This patch adds support for DIX to v3 hw driver.
      
      For this, we build upon support for DIF, most significantly is adding new
      DMA map and unmap paths.
      
      Some pre-existing macro precedence issues are also tidied. They were
      detected by checkpatch --strict.
      Signed-off-by: NXiang Chen <chenxiang66@hisilicon.com>
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      b3cce125