1. 08 6月, 2022 1 次提交
  2. 06 6月, 2022 1 次提交
  3. 09 5月, 2022 4 次提交
  4. 22 4月, 2022 1 次提交
  5. 12 4月, 2022 1 次提交
  6. 11 4月, 2022 1 次提交
    • J
      libata: Improve ATA queued command allocation · 4f1a22ee
      John Garry 提交于
      Improve ATA queued command allocation as follows:
      
      - For attaining a qc tag for a SAS host we need to allocate a bit in
        ata_port.sas_tag_allocated bitmap.
      
        However we already have a unique tag per device in range
        [0, ATA_MAX_QUEUE -1] in the scsi cmnd budget token, so just use that
        instead.
      
      - It is a bit pointless to have ata_qc_new_init() in libata-core.c since it
        pokes scsi internals, so inline it in ata_scsi_qc_new() (in
        libata-scsi.c). Also update Doc accordingly.
      
      - Use standard SCSI helpers set_host_byte() and set_status_byte() in
        ata_scsi_qc_new().
      
      Christoph Hellwig originally contributed the change to inline
      ata_qc_new_init().
      Signed-off-by: NJohn Garry <john.garry@huawei.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      4f1a22ee
  7. 04 4月, 2022 1 次提交
  8. 20 2月, 2022 1 次提交
  9. 19 2月, 2022 1 次提交
  10. 08 2月, 2022 1 次提交
  11. 07 2月, 2022 1 次提交
    • D
      ata: libata-core: Fix ata_dev_config_cpr() · fda17afc
      Damien Le Moal 提交于
      The concurrent positioning ranges log page 47h is a general purpose log
      page and not a subpage of the indentify device log. Using
      ata_identify_page_supported() to test for concurrent positioning ranges
      support is thus wrong. ata_log_supported() must be used.
      
      Furthermore, unlike other advanced ATA features (e.g. NCQ priority),
      accesses to the concurrent positioning ranges log page are not gated by
      a feature bit from the device IDENTIFY data. Since many older drives
      react badly to the READ LOG EXT and/or READ LOG DMA EXT commands isued
      to read device log pages, avoid problems with older drives by limiting
      the concurrent positioning ranges support detection to drives
      implementing at least the ACS-4 ATA standard (major version 11). This
      additional condition effectively turns ata_dev_config_cpr() into a nop
      for older drives, avoiding problems in the field.
      
      Fixes: fe22e1c2 ("libata: support concurrent positioning ranges log")
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215519
      Cc: stable@vger.kernel.org
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Tested-by: NAbderraouf Adjal <adjal.arf@gmail.com>
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      fda17afc
  12. 04 2月, 2022 1 次提交
    • A
      ata: libata-core: Introduce ATA_HORKAGE_NO_LOG_DIR horkage · ac9f0c81
      Anton Lundin 提交于
      06f6c4c6 ("ata: libata: add missing ata_identify_page_supported() calls")
      introduced additional calls to ata_identify_page_supported(), thus also
      adding indirectly accesses to the device log directory log page through
      ata_log_supported(). Reading this log page causes SATADOM-ML 3ME devices
      to lock up.
      
      Introduce the horkage flag ATA_HORKAGE_NO_LOG_DIR to prevent accesses to
      the log directory in ata_log_supported() and add a blacklist entry
      with this flag for "SATADOM-ML 3ME" devices.
      
      Fixes: 636f6e2a ("libata: add horkage for missing Identify Device log")
      Cc: stable@vger.kernel.org # v5.10+
      Signed-off-by: NAnton Lundin <glance@acc.umu.se>
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      ac9f0c81
  13. 03 2月, 2022 1 次提交
  14. 14 1月, 2022 1 次提交
    • D
      ata: fix read_id() ata port operation interface · 0561e514
      Damien Le Moal 提交于
      Drivers that need to tweak a device IDENTIFY data implement the
      read_id() port operation. The IDENTIFY data buffer is passed as an
      argument to the read_id() operation for drivers to use. However, when
      this operation is called, the IDENTIFY data is not yet converted to CPU
      endian and contains le16 words.
      
      Change the interface of the read_id operation to pass a __le16 * pointer
      to the IDENTIFY data buffer to clarify the buffer endianness. Fix the
      pata_netcell, pata_it821x, ahci_xgene, ahci_ceva and ahci_brcm drivers
      implementation of this operation and modify the code to corretly deal
      with identify data words manipulation to avoid sparse warnings such as:
      
      drivers/ata/ahci_xgene.c:262:33: warning: invalid assignment: &=
      drivers/ata/ahci_xgene.c:262:33:    left side has type unsigned short
      drivers/ata/ahci_xgene.c:262:33:    right side has type restricted __le16
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      0561e514
  15. 05 1月, 2022 11 次提交
  16. 04 1月, 2022 6 次提交
  17. 09 12月, 2021 1 次提交
  18. 18 11月, 2021 1 次提交
  19. 17 11月, 2021 1 次提交
  20. 12 11月, 2021 1 次提交
    • D
      libata: add horkage for missing Identify Device log · 636f6e2a
      Damien Le Moal 提交于
      ACS-3 introduced the ATA Identify Device Data log as mandatory. A
      warning message currently signals to the user if a device does not
      report supporting this log page in the log directory page, regardless
      of the ATA version of the device. Furthermore, this warning will appear
      for all attempts at accessing this missing log page during device
      revalidation.
      
      Since it is useless to constantly access the log directory and warn
      about this lack of support once we have discovered that the device
      does not support this log page, introduce the horkage flag
      ATA_HORKAGE_NO_ID_DEV_LOG to mark a device as lacking support for
      the Identify Device Data log page. Set this flag when
      ata_log_supported() returns false in ata_identify_page_supported().
      The warning is printed only if the device ATA level is 10 or above
      (ACS-3 or above), and only once on device scan. With this flag set, the
      log directory page is not accessed again to test for Identify Device
      Data log page support.
      Signed-off-by: NDamien Le Moal <damien.lemoal@opensource.wdc.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
      636f6e2a
  21. 27 10月, 2021 1 次提交
  22. 12 10月, 2021 1 次提交