Message ID | 1656343521-62897-6-git-send-email-john.garry@huawei.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | DMA mapping changes for SCSI core | expand |
On 6/28/22 00:25, John Garry wrote: > ATA devices (struct ata_device) have a max_sectors field which is > configured internally in libata. This is then used to (re)configure the > associated sdev request queue max_sectors value from how it is earlier set > in __scsi_init_queue(). In __scsi_init_queue() the max_sectors value is set > according to shost limits, which includes host DMA mapping limits. > > Cap the ata_device max_sectors according to shost->max_sectors to respect > this shost limit. > > Signed-off-by: John Garry <john.garry@huawei.com> > Acked-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Nit: please change the patch title to "ata: libata-scsi: Cap ..." > --- > drivers/ata/libata-scsi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c > index 86dbb1cdfabd..24a43d540d9f 100644 > --- a/drivers/ata/libata-scsi.c > +++ b/drivers/ata/libata-scsi.c > @@ -1060,6 +1060,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct ata_device *dev) > dev->flags |= ATA_DFLAG_NO_UNLOAD; > > /* configure max sectors */ > + dev->max_sectors = min(dev->max_sectors, sdev->host->max_sectors); > blk_queue_max_hw_sectors(q, dev->max_sectors); > > if (dev->class == ATA_DEV_ATAPI) {
On 28/06/2022 00:24, Damien Le Moal wrote: > On 6/28/22 00:25, John Garry wrote: >> ATA devices (struct ata_device) have a max_sectors field which is >> configured internally in libata. This is then used to (re)configure the >> associated sdev request queue max_sectors value from how it is earlier set >> in __scsi_init_queue(). In __scsi_init_queue() the max_sectors value is set >> according to shost limits, which includes host DMA mapping limits. >> >> Cap the ata_device max_sectors according to shost->max_sectors to respect >> this shost limit. >> >> Signed-off-by: John Garry<john.garry@huawei.com> >> Acked-by: Damien Le Moal<damien.lemoal@opensource.wdc.com> > Nit: please change the patch title to "ata: libata-scsi: Cap ..." > ok, but it's going to be an even longer title :) BTW, this patch has no real dependency on the rest of the series, so could be taken separately if you prefer. Thanks, John
On 6/28/22 16:54, John Garry wrote: > On 28/06/2022 00:24, Damien Le Moal wrote: >> On 6/28/22 00:25, John Garry wrote: >>> ATA devices (struct ata_device) have a max_sectors field which is >>> configured internally in libata. This is then used to (re)configure the >>> associated sdev request queue max_sectors value from how it is earlier set >>> in __scsi_init_queue(). In __scsi_init_queue() the max_sectors value is set >>> according to shost limits, which includes host DMA mapping limits. >>> >>> Cap the ata_device max_sectors according to shost->max_sectors to respect >>> this shost limit. >>> >>> Signed-off-by: John Garry<john.garry@huawei.com> >>> Acked-by: Damien Le Moal<damien.lemoal@opensource.wdc.com> >> Nit: please change the patch title to "ata: libata-scsi: Cap ..." >> > > ok, but it's going to be an even longer title :) > > BTW, this patch has no real dependency on the rest of the series, so > could be taken separately if you prefer. Sure, you can send it separately. Adding it through the scsi tree is fine too. > > Thanks, > John
On 28/06/2022 10:14, Damien Le Moal wrote: >> BTW, this patch has no real dependency on the rest of the series, so >> could be taken separately if you prefer. > Sure, you can send it separately. Adding it through the scsi tree is fine too. > Well Christoph originally offered to take this series via the dma-mapping tree. @Christoph, is that still ok with you? If so, would you rather I send this libata patch separately? Thanks, john
On Tue, Jun 28, 2022 at 12:33:58PM +0100, John Garry wrote: > Well Christoph originally offered to take this series via the dma-mapping > tree. > > @Christoph, is that still ok with you? If so, would you rather I send this > libata patch separately? The offer still stands, and I don't really care where the libata patch is routed. Just tell me what you prefer.
On 6/29/22 14:40, Christoph Hellwig wrote: > On Tue, Jun 28, 2022 at 12:33:58PM +0100, John Garry wrote: >> Well Christoph originally offered to take this series via the dma-mapping >> tree. >> >> @Christoph, is that still ok with you? If so, would you rather I send this >> libata patch separately? > > The offer still stands, and I don't really care where the libata > patch is routed. Just tell me what you prefer. If it is 100% independent from the other patches, I can take it. Otherwise, feel free to take it !
On 29/06/2022 06:58, Damien Le Moal wrote: > On 6/29/22 14:40, Christoph Hellwig wrote: >> On Tue, Jun 28, 2022 at 12:33:58PM +0100, John Garry wrote: >>> Well Christoph originally offered to take this series via the dma-mapping >>> tree. >>> >>> @Christoph, is that still ok with you? If so, would you rather I send this >>> libata patch separately? >> >> The offer still stands, and I don't really care where the libata >> patch is routed. Just tell me what you prefer. Cheers. > > If it is 100% independent from the other patches, I can take it. > Otherwise, feel free to take it ! > I'll just keep the all together - it's easier in case I need to change anything. Thanks!
On 6/29/22 16:43, John Garry wrote: > On 29/06/2022 06:58, Damien Le Moal wrote: >> On 6/29/22 14:40, Christoph Hellwig wrote: >>> On Tue, Jun 28, 2022 at 12:33:58PM +0100, John Garry wrote: >>>> Well Christoph originally offered to take this series via the dma-mapping >>>> tree. >>>> >>>> @Christoph, is that still ok with you? If so, would you rather I send this >>>> libata patch separately? >>> >>> The offer still stands, and I don't really care where the libata >>> patch is routed. Just tell me what you prefer. > > Cheers. > >> >> If it is 100% independent from the other patches, I can take it. >> Otherwise, feel free to take it ! >> > > I'll just keep the all together - it's easier in case I need to change > anything. Works for me. > > Thanks!
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 86dbb1cdfabd..24a43d540d9f 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -1060,6 +1060,7 @@ int ata_scsi_dev_config(struct scsi_device *sdev, struct ata_device *dev) dev->flags |= ATA_DFLAG_NO_UNLOAD; /* configure max sectors */ + dev->max_sectors = min(dev->max_sectors, sdev->host->max_sectors); blk_queue_max_hw_sectors(q, dev->max_sectors); if (dev->class == ATA_DEV_ATAPI) {