From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Crispin Subject: Re: [PATCH 0/3]: net: dsa: mt7530: support MT7530 in the MT7621 SoC Date: Mon, 3 Dec 2018 15:02:32 +0100 Message-ID: <3c07dbef-8e7c-8e4f-e13f-e40099e55570@phrozen.org> References: <20181130075737.8041-1-gerg@kernel.org> <87r2f2pxpa.fsf@miraculix.mork.no> <0ef5a725-a88a-0a6e-1a69-9106cead6b65@kernel.org> <87k1kqlu80.fsf@miraculix.mork.no> <20181203140019.Horde.XrgsnGb7kljypkgiFcLqF2Z@www.vdorst.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Cc: Greg Ungerer , sean.wang@mediatek.com, andrew@lunn.ch, vivien.didelot@savoirfairelinux.com, f.fainelli@gmail.com, netdev@vger.kernel.org, neil@brown.name To: =?UTF-8?Q?Ren=c3=a9_van_Dorst?= , =?UTF-8?Q?Bj=c3=b8rn_Mork?= Return-path: Received: from nbd.name ([46.4.11.11]:55348 "EHLO nbd.name" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725911AbeLCODp (ORCPT ); Mon, 3 Dec 2018 09:03:45 -0500 In-Reply-To: <20181203140019.Horde.XrgsnGb7kljypkgiFcLqF2Z@www.vdorst.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 03/12/2018 15:00, René van Dorst wrote: > Quoting Bjørn Mork : >> Greg Ungerer writes: >> >>> The following change helped alot, but I still get some problems under >>> sustained load and some types of port setups. Still trying to figure >>> out what exactly is going on. >>> >>> --- a/linux/drivers/net/ethernet/mediatek/mtk_eth_soc.c >>> +++ b/linux/drivers/net/ethernet/mediatek/mtk_eth_soc.c >>> @@ -1750,8 +1750,8 @@ static irqreturn_t mtk_handle_irq_rx(int irq, >>> void *_eth) >>>        if (likely(napi_schedule_prep(ð->rx_napi))) { >>>                 __napi_schedule(ð->rx_napi); >>> -               mtk_rx_irq_disable(eth, MTK_RX_DONE_INT); >>>         } >>> +       mtk_rx_irq_disable(eth, MTK_RX_DONE_INT); >>>        return IRQ_HANDLED; >>>  } >>> @@ -1762,11 +1762,53 @@ static irqreturn_t mtk_handle_irq_tx(int >>> irq, void *_eth) >>>        if (likely(napi_schedule_prep(ð->tx_napi))) { >>>                 __napi_schedule(ð->tx_napi); >>> -               mtk_tx_irq_disable(eth, MTK_TX_DONE_INT); >>>         } >>> +       mtk_tx_irq_disable(eth, MTK_TX_DONE_INT); >>>        return IRQ_HANDLED; >>>  } >> >> Yes, sorry I didn't point to that as well.  Just to be clear:  I have no >> clue how this thing is actually wired up, or if you could use three >> interrupts on the MT7621 too. I just messed with it until I got >> something to work, based on Renés original idea and code. > > My idea is a just a copy of mtk_handle_irq_{rx,tx} see [1] > You probably want to look at the staging driver or Ubiquity source > with a 3.10.x kernel [2] or padavan with 3.4.x kernel [3]. > AFAIK mt7621 only has 1 IRQ for ethernet part. correct there is only 1 single IRQ on mt7621     John > > Greats, > > René > > [1] > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/net/ethernet/mediatek/mtk_eth_soc.c#n1739 > [2] > https://www.ubnt.com/download/edgemax/edgerouter-x-sfp/default/edgerouter-er-xer-x-sfpep-r6-firmware-v1107 > [3] > https://bitbucket.org/padavan/rt-n56u/src/e6f45337528f668651e251057a1a0fec735f6df1/trunk/linux-3.4.x/drivers/net/raeth/raether.c?at=master&fileviewer=file-view-default#raether.c-658 > >