[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCHv2] esp: Do not overwrite ESP_TCHI after reset
From: |
Hannes Reinecke |
Subject: |
Re: [Qemu-devel] [PATCHv2] esp: Do not overwrite ESP_TCHI after reset |
Date: |
Mon, 10 Nov 2014 21:11:05 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 |
On 11/10/2014 07:32 PM, Paolo Bonzini wrote:
> On 10/11/2014 16:52, Hannes Reinecke wrote:
>> After a reset ESP_TCHI should contain the unique ID
>> of the chip. This value will be overwritten with the
>> current tranfer count if the transfer count has
>> previously been set.
>> So we should always return the chip id if ESP_TCHI
>> has never been written to.
>
> What if ESP_TCHI was written 0? Why should it return the chip id?
>
It's a complex thing. The documentation says 'ESP_TCHI returns the chip
id until been written to'.
And ESP_TCHI is strictly speaking only valid if the 'Features enabled'
bit is set in ESP_CFG2. (Not that the driver checks this).
To handle it correctly we would need to add a flag whenever ESP_TCHI
is written to, but I thought it'd be slightly too much.
Plus we're reloading the ESP_TCHI register anyway whenever a transfer
is started.
> Can you explain exactly what sequence of register reads/writes leads to
> the bug?
>
CMD RST
DMA CMD NOP
-> ESP_TCHI should contain chip_id, but doesn't.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
address@hidden +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)