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 Hemant,

On 3/16/2011 9:43 AM, Pedanekar, Hemant wrote:
>> What happens in your case? Does it not work, if you do not
>> > modify sil driver?
>> > 
> I also require to modify the sil driver to avoid setting max RRQ to 4096 
> otherwise the data transfer over PCIe does not work. The RC responds with 
> "Unsupported Request" for read request of size greater than 256 bytes.
> 
> The other problem is, there is no way for peers to know that the other 
> device cannot handle RRQ of size beyond certain limit. At least I am not 
> aware of any bits in PCIe configuration space which advertise this. Do you
> know of any such?
> 
> While, there is "Max RRQ size" field in device control register which only
> controls outbound RRQ size.
> 
> This restriction probbaly will complicate more when the device with such 
> RRQ limitation is a EP, in such case, no one else than the EP (and its driver) 
> would know about this limitation and need to force others (including RC) to
> reduce the max RRQ size.
>   

Yes, I am agreed with you. I do not see any way to inform its peers about request 
limit. So I think that a EP driver should not be allowed to call any function which
changes EP's RRQ size. It should always be RC driver which sets these values as
per max capability of the link.

Currently I am managing it with postinit hook of RC driver. But can be part of 
common pci stack.

You can see my way of handling it at
http://www.spinics.net/lists/linux-pci/msg09897.html

Regards
Pratyush
--
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