On 11/21/19 10:59 AM, Tan, Ley Foon wrote:
[...]

Hi,

>> Subject: [PATCH 2/2] ARM: socfpga: Purge pending transactions upon
>> enabling bridges on Gen5
>>
>> On Gen5, when the FPGA is loaded and there was some prior interaction
>> between the HPS and the FPGA via bridges (e.g. Linux was running and using
>> some of the IPs in the FPGA) followed by warm reset, it has been observed
>> that there might be outstanding unfinished transactions. This leads to an
>> obscure misbehavior of the bridge.
>>
>> When the bridge is enabled again in U-Boot and there are outstanding
>> transactions, a read from within the bridge address range would return a
>> result of the previous read instead. Example:
>> => bridge enable ; md 0xff200000 1
>> ff200000: 1234abcd
>> => bridge enable ; md 0xff200010 1
>> ff200010: 5678dcba <------- this is in fact a value which is stored in
>>                             a memory at 0xff200000 => bridge enable ; md 
>> 0xff200000 1
>> ff200000: 90effe09 <------- this is in fact a value which is stored in
>>                             a memory at 0xff200010 and so it continues. 
>> Issuing a write
>> does lock the system up completely.
>>
>> This patch opens the FPGA bridges in 'bridge enable' command, the tears
>> them down again, and then opens them again. This allows these outstanding
>> transactions to complete and makes this misbehavior go away.
>>
>> However, it is not entirely clear whether this is the correct solution.
>>
>> Signed-off-by: Marek Vasut <[email protected]>
>> Cc: Chin Liang See <[email protected]>
>> Cc: Dalon Westergreen <[email protected]>
>> Cc: Dinh Nguyen <[email protected]>
>> Cc: Ley Foon Tan <[email protected]>
>> Cc: Simon Goldschmidt <[email protected]>
>> Cc: Tien Fong Chee <[email protected]>
> 
> Reviewed-by: Ley Foon Tan <[email protected]>

Do you think there is anyone still at Altera/intel who might be able to
tell us what this problem really is about ? And whether there is some
way to purge those stuck transactions without turning the bridges on and
off and then on again ? Or whether there is a way to even verify there
are stuck transactions ?

-- 
Best regards,
Marek Vasut
_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to