Message ID | 20200806132106.747414-16-clg@kaod.org |
---|---|
State | New |
Headers | show |
Series | aspeed: mostly cleanups and some extensions | expand |
On 8/6/20 3:21 PM, Cédric Le Goater wrote: > The software reset of the MAC needs a finer granularity. Not all > registers are reseted and some setting in MACCR are kept. typo in "reseted". > > Cc: Frederic Konrad <konrad.frederic@yahoo.fr> > Fixes: bd44300d1afc ("net: add FTGMAC100 support") > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > hw/net/ftgmac100.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c > index 987b843fabc4..0740049c5268 100644 > --- a/hw/net/ftgmac100.c > +++ b/hw/net/ftgmac100.c > @@ -655,11 +655,10 @@ static void ftgmac100_reset(DeviceState *d) > s->itc = 0; > s->aptcr = 1; > s->dblac = 0x00022f00; > - s->revr = 0; > s->fear1 = 0; > s->tpafcr = 0xf1; > > - s->maccr = 0; > + s->maccr &= FTGMAC100_MACCR_GIGA_MODE | FTGMAC100_MACCR_FAST_MODE; > s->phycr = 0; > s->phydata = 0; > s->fcr = 0x400; > @@ -812,6 +811,7 @@ static void ftgmac100_write(void *opaque, hwaddr addr, > case FTGMAC100_MACCR: /* MAC Device control */ > s->maccr = value; > if (value & FTGMAC100_MACCR_SW_RST) { > + /* TODO: rework software reset to have a finer granularity */ > ftgmac100_reset(DEVICE(s)); > } > >
On Thu, 6 Aug 2020 at 13:21, Cédric Le Goater <clg@kaod.org> wrote: > > The software reset of the MAC needs a finer granularity. Not all > registers are reseted and some setting in MACCR are kept. 'settings' This makes the software reset incorrect, but the power on reset values correct. Was that your goal? If so, perhaps put that in the commit message. > > Cc: Frederic Konrad <konrad.frederic@yahoo.fr> > Fixes: bd44300d1afc ("net: add FTGMAC100 support") > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > hw/net/ftgmac100.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c > index 987b843fabc4..0740049c5268 100644 > --- a/hw/net/ftgmac100.c > +++ b/hw/net/ftgmac100.c > @@ -655,11 +655,10 @@ static void ftgmac100_reset(DeviceState *d) > s->itc = 0; > s->aptcr = 1; > s->dblac = 0x00022f00; > - s->revr = 0; > s->fear1 = 0; > s->tpafcr = 0xf1; > > - s->maccr = 0; > + s->maccr &= FTGMAC100_MACCR_GIGA_MODE | FTGMAC100_MACCR_FAST_MODE; > s->phycr = 0; > s->phydata = 0; > s->fcr = 0x400; > @@ -812,6 +811,7 @@ static void ftgmac100_write(void *opaque, hwaddr addr, > case FTGMAC100_MACCR: /* MAC Device control */ > s->maccr = value; > if (value & FTGMAC100_MACCR_SW_RST) { > + /* TODO: rework software reset to have a finer granularity */ > ftgmac100_reset(DEVICE(s)); > } > > -- > 2.25.4 >
On 8/7/20 2:03 AM, Joel Stanley wrote: > On Thu, 6 Aug 2020 at 13:21, Cédric Le Goater <clg@kaod.org> wrote: >> >> The software reset of the MAC needs a finer granularity. Not all >> registers are reseted and some setting in MACCR are kept. > > 'settings' > > This makes the software reset incorrect, but the power on reset values > correct. Was that your goal? You are right. I should address the TODO below. Thanks, C. > > If so, perhaps put that in the commit message. > >> >> Cc: Frederic Konrad <konrad.frederic@yahoo.fr> >> Fixes: bd44300d1afc ("net: add FTGMAC100 support") >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> hw/net/ftgmac100.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c >> index 987b843fabc4..0740049c5268 100644 >> --- a/hw/net/ftgmac100.c >> +++ b/hw/net/ftgmac100.c >> @@ -655,11 +655,10 @@ static void ftgmac100_reset(DeviceState *d) >> s->itc = 0; >> s->aptcr = 1; >> s->dblac = 0x00022f00; >> - s->revr = 0; >> s->fear1 = 0; >> s->tpafcr = 0xf1; >> >> - s->maccr = 0; >> + s->maccr &= FTGMAC100_MACCR_GIGA_MODE | FTGMAC100_MACCR_FAST_MODE; >> s->phycr = 0; >> s->phydata = 0; >> s->fcr = 0x400; >> @@ -812,6 +811,7 @@ static void ftgmac100_write(void *opaque, hwaddr addr, >> case FTGMAC100_MACCR: /* MAC Device control */ >> s->maccr = value; >> if (value & FTGMAC100_MACCR_SW_RST) { >> + /* TODO: rework software reset to have a finer granularity */ >> ftgmac100_reset(DEVICE(s)); >> } >> >> -- >> 2.25.4 >>
diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c index 987b843fabc4..0740049c5268 100644 --- a/hw/net/ftgmac100.c +++ b/hw/net/ftgmac100.c @@ -655,11 +655,10 @@ static void ftgmac100_reset(DeviceState *d) s->itc = 0; s->aptcr = 1; s->dblac = 0x00022f00; - s->revr = 0; s->fear1 = 0; s->tpafcr = 0xf1; - s->maccr = 0; + s->maccr &= FTGMAC100_MACCR_GIGA_MODE | FTGMAC100_MACCR_FAST_MODE; s->phycr = 0; s->phydata = 0; s->fcr = 0x400; @@ -812,6 +811,7 @@ static void ftgmac100_write(void *opaque, hwaddr addr, case FTGMAC100_MACCR: /* MAC Device control */ s->maccr = value; if (value & FTGMAC100_MACCR_SW_RST) { + /* TODO: rework software reset to have a finer granularity */ ftgmac100_reset(DEVICE(s)); }
The software reset of the MAC needs a finer granularity. Not all registers are reseted and some setting in MACCR are kept. Cc: Frederic Konrad <konrad.frederic@yahoo.fr> Fixes: bd44300d1afc ("net: add FTGMAC100 support") Signed-off-by: Cédric Le Goater <clg@kaod.org> --- hw/net/ftgmac100.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)