RE: [PATCH] PCIE: pcie_set_readrq must not be allowed by PCIE EP driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

linux-pci-owner@xxxxxxxxxxxxxxx wrote on Thursday, February 17, 2011 3:44 PM:

> pcie_set_readrq modifies read request size in EP's capability register.
> Now considering a situation where this EP is to be connected to an RC
> whose implemented read buffer size is less than what this
> function programs.
> [As per pcie specification this buffer size can be 128-4096
> bytes. So an RC can
> have lesser buffer size]
> In this scenario there is no way that RC can revert this as
> per its capability.
> So , read capability should always be either programmed by enumeration
> during bootloader or by using postinit hook of base driver. I
> mean, it should
> be programmed by RC's driver not by EP's driver.

I am also working on a RC device which supports max outbound read request of
256 bytes and have to modify this (sil) driver to set read request size to
256 bytes. This patch would probably help me.

But I have one question: aren't the completors supposed to respond with
multiple completions if the read request exceeds their buffer limit?

Thanks.
   Hemant

> Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> ---
>  drivers/ata/sata_sil24.c |    5 -----
>  1 files changed, 0 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index
> af41c6f..bc45e01 100644 --- a/drivers/ata/sata_sil24.c
> +++ b/drivers/ata/sata_sil24.c
> @@ -1343,11 +1343,6 @@ static int sil24_init_one(struct
> pci_dev *pdev, const struct pci_device_id *ent)
>  		}
>  	}
> 
> -	/* Set max read request size to 4096.  This slightly increases
> -	 * write throughput for pci-e variants.
> -	 */
> -	pcie_set_readrq(pdev, 4096);
> -
>  	sil24_init_controller(host);
> 
>  	if (sata_sil24_msi && !pci_enable_msi(pdev)) {
> --
> 1.6.0.2--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux