On Fri, Nov 20, 2015 at 03:47:38PM -0800, santosh shilimkar wrote:It does. Can you please update the patch change log with above
On 11/20/2015 3:39 PM, Michal Morawiec wrote:If both queue managers are used then both must be configured
Configure linking RAM for both queue managers also in casewhy ?
when only linking RAM 0 is specified in device tree.
with valid linking RAM configuration independent of the number
of linking RAMs used. If the configuration for the QM2 is
missing there will be a crash when it tries push/pop descriptors
from its queues. That's what I encountered once I removed
linking RAM 1 from the device tree since it was not needed.
If I understand the current handling in the driver correctlySigned-off-by: Michal Morawiec <michal.1.morawiec.ext@xxxxxxxxx>You have to expand this a bit for me. Because you really don't
---
drivers/soc/ti/knav_qmss_queue.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
index 6d8646d..a809c30 100644
--- a/drivers/soc/ti/knav_qmss_queue.c
+++ b/drivers/soc/ti/knav_qmss_queue.c
@@ -1173,7 +1173,7 @@ static int knav_queue_setup_link_ram(struct knav_device *kdev)
block++;
if (!block->size)
- return 0;
+ continue;
want kernel code to run the configuration on hardware which doesn't
exist. I mean device tree suppose to specify the linking RAM for both
QMs unless and until there is a reason not too.
the linking RAM(s) is/are used cooperatively by QMs (shared mode).
So every linking RAM specified in the device tree must be
configured exactly the same for both QMs (base addres and size).
If there is only one linking RAM specified then only this one
must be configured for both QMs.
For proper operation only one linking RAM is required and in most
cases this can be internal one as long as it is able to handle
the number of descriptors used in the system.
That was the case for me so I moved all regions so that they all
fit into one internal linking RAM and removed entry for external
linking RAM. Current driver code however skips configuration of
second queue manager if second linking RAM is not specified.
Referring to the configuration of the missing hardware you
mentioned I don't think there is anything missing. It's just
one resource less used by the HW (QMs).
I hope this explains the intention of my patch.