qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/5] hw/arm/pxa2xx: Add reset method for pxa2xx_


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 3/5] hw/arm/pxa2xx: Add reset method for pxa2xx_ssp
Date: Sat, 6 Jun 2015 00:00:26 +0100

On 5 June 2015 at 23:57, Peter Crosthwaite <address@hidden> wrote:
> On Thu, May 28, 2015 at 5:09 AM, Peter Maydell <address@hidden> wrote:
>> The pxa2xx_ssp device was missing a reset method; add one.
>>
>> Signed-off-by: Peter Maydell <address@hidden>
>> ---
>>  hw/arm/pxa2xx.c | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>>
>> diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c
>> index fc77b44..770902f 100644
>> --- a/hw/arm/pxa2xx.c
>> +++ b/hw/arm/pxa2xx.c
>> @@ -756,6 +756,22 @@ static int pxa2xx_ssp_load(QEMUFile *f, void *opaque, 
>> int version_id)
>>      return 0;
>>  }
>>
>> +static void pxa2xx_ssp_reset(DeviceState *d)
>> +{
>> +    PXA2xxSSPState *s = PXA2XX_SSP(d);
>> +
>> +    s->enable = 0;
>> +    s->sscr[0] = s->sscr[1] = 0;
>> +    s->sspsp = 0;
>> +    s->ssto = 0;
>> +    s->ssitr = 0;
>> +    s->sssr = 0;
>> +    s->sstsa = 0;
>> +    s->ssrsa = 0;
>> +    s->ssacd = 0;
>> +    s->rx_start = s->rx_level = 0;
>
> Does this need a ssp_int_update to deassert any set interrupts?

No, because the thing on the other end of the irq line should also
reset itself to an "interrupt deasserted" state. Calling qemu_set_irq
or qemu_reset_irq in a reset function is dubious, because you don't
know if the device on the other end has (a) already reset itself
or (b) not yet reset itself but will do so after you; so the effect
on the other device is indeterminate...

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]