netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stas Sergeev <stsp@list.ru>
To: Arnaud Ebalard <arno@natisbad.org>
Cc: "David S. Miller" <davem@davemloft.net>,
	netdev@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Florian Fainelli <f.fainelli@gmail.com>
Subject: Re: [BUG,BISECTED] mvneta: second interface no more usable on mirabox
Date: Wed, 17 Jun 2015 16:24:14 +0300	[thread overview]
Message-ID: <558174FE.8010403@list.ru> (raw)
In-Reply-To: <874mm71cgb.fsf@natisbad.org>

17.06.2015 02:05, Arnaud Ebalard пишет:
>> But it seems the patch can still change a couple of flags
>> for you, and maybe that makes a problem?
> AFAICT, autoneg config register (MVNETA_GMAC_AUTONEG_CONFIG) is
> modified.
Or, else, prevented from being modified at a couple of
bits that were wrongly cleared before. That code is now
used by both autoneg and mdio modes, so clearing the
autoneg bits is not possible (and not needed).
Unfortunately I haven't checked if these bits are ever
properly initialized. They are not. :( I think my u-boot did
that for me, and for you - only for the first interface.

>   And the logic when link status changes is also modified:
>   - MVNETA_GMAC_FORCE_LINK_DOWN flag cleared when there is carrier. It was
>     previously set when that event occured.
>   - The link down event logic is also modified.
This was needed to properly update the MAC status
register. It wasn't used before my patch, because the
status was retrieved with MDIO, and even with my patch
it is used only for inbound status, but I felt it would be
good to have it properly updated in all cases, to avoid the
surprises in the future. AFAIK these bits are only mirrored
by the relevant bits in the status register, and nothing more.

>> Please try the attached (absolutely untested) patch.
>> diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
>> index ce5f7f9..74176ec 100644
>> --- a/drivers/net/ethernet/marvell/mvneta.c
>> +++ b/drivers/net/ethernet/marvell/mvneta.c
>> @@ -1013,6 +1013,12 @@ static void mvneta_defaults_set(struct mvneta_port *pp)
>>   		val = mvreg_read(pp, MVNETA_GMAC_CLOCK_DIVIDER);
>>   		val |= MVNETA_GMAC_1MS_CLOCK_ENABLE;
>>   		mvreg_write(pp, MVNETA_GMAC_CLOCK_DIVIDER, val);
>> +	} else {
>> +		val = mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG);
>> +		val &= ~(MVNETA_GMAC_INBAND_AN_ENABLE |
>> +		       MVNETA_GMAC_AN_SPEED_EN |
>> +		       MVNETA_GMAC_AN_DUPLEX_EN);
>> +		mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val);
>>   	}
>>   
>>   	mvneta_set_ucast_table(pp, -1);
> *Second interface is back w/ that patch applied*. Cannot tell if it is a
>   proper fix, though or a valid workaround.
I think it is a proper fix - adding a missing initialization.
Previously that initialization was hidden in a completely
unexpected place, from where I had to remove it, but
forgot to re-add elsewhere.

> Thanks for your feedback.
Thanks for your testing, I'll submit a patch in a few days.

      reply	other threads:[~2015-06-17 13:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-16 21:44 [BUG,BISECTED] mvneta: second interface no more usable on mirabox Arnaud Ebalard
     [not found] ` <5580A4C3.1020509@list.ru>
2015-06-16 23:05   ` Arnaud Ebalard
2015-06-17 13:24     ` Stas Sergeev [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=558174FE.8010403@list.ru \
    --to=stsp@list.ru \
    --cc=arno@natisbad.org \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=thomas.petazzoni@free-electrons.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).