Functional testing of mainline vchiq driver

Phil Elwell phil at raspberrypi.org
Mon Oct 31 03:28:25 PDT 2016


On 31/10/2016 10:21, Stefan Wahren wrote:
>
>> Michael Zoran <mzoran at crowfest.net> hat am 30. Oktober 2016 um 18:00
>> geschrieben:
>>
>> Going back to the cache line size issue.  
>>
>> I'm wondering if it's important to people to not have an override, if
>> it would just make sense to use a reasonably large value in the DT that
>> works on all the platforms.  Say 64 or 128.  I mean, I think the line
>> size is sent over to the firmware in the driver init so making the
>> number too big is just a performance issue and not a correctness issue,
>> right?
>>
> If i change g_cache_line_size to 64 on a Raspberry Pi B then i get this:
>
> $ vchiq_test -f 10
> Functional test - iters:10
> ======== iteration 1 ========
> vchiq_test: 1: Data corrupted at 0-0 (datalen 1, align fe0, server_align 0) ->
> 80
> vchiq_test: 891: func_data_test(service, size, PAGE_SIZE - align, srvr_align &
> 31) != VCHIQ_SUCCESS
That's because the firmware doesn't read the cache line size value from
the DTB - it knows which chip it is running on, and hence the correct
value - so forcing an incorrect value for the ARM causes a discrepancy.




More information about the linux-rpi-kernel mailing list