[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6506ff6c-b5b9-43c1-804d-e1ca1029afa0@loongson.cn>
Date: Wed, 10 Apr 2024 09:49:43 +0800
From: Yanteng Si <siyanteng@...ngson.cn>
To: Simon Horman <horms@...nel.org>
Cc: andrew@...n.ch, hkallweit1@...il.com, peppe.cavallaro@...com,
alexandre.torgue@...s.st.com, joabreu@...opsys.com, fancer.lancer@...il.com,
Jose.Abreu@...opsys.com, chenhuacai@...nel.org, linux@...linux.org.uk,
guyinggang@...ngson.cn, netdev@...r.kernel.org, chris.chenfeiyang@...il.com,
siyanteng01@...il.com
Subject: Re: [PATCH net-next v10 6/6] net: stmmac: dwmac-loongson: Add
Loongson GNET support
在 2024/4/10 02:58, Simon Horman 写道:
> On Tue, Apr 09, 2024 at 10:04:34PM +0800, Yanteng Si wrote:
>
> ...
>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c
> ...
>
>> @@ -145,42 +568,37 @@ static int loongson_dwmac_probe(struct pci_dev *pdev, const struct pci_device_id
>> goto err_disable_device;
>> }
>> plat->phy_interface = phy_mode;
>> -
>> - res.irq = of_irq_get_byname(np, "macirq");
>> - if (res.irq < 0) {
>> - dev_err(&pdev->dev, "IRQ macirq not found\n");
>> - ret = -ENODEV;
>> - goto err_disable_msi;
>> - }
>> -
>> - res.wol_irq = of_irq_get_byname(np, "eth_wake_irq");
>> - if (res.wol_irq < 0) {
>> - dev_info(&pdev->dev, "IRQ eth_wake_irq not found, using macirq\n");
>> - res.wol_irq = res.irq;
>> - }
>> -
>> - res.lpi_irq = of_irq_get_byname(np, "eth_lpi");
>> - if (res.lpi_irq < 0) {
>> - dev_err(&pdev->dev, "IRQ eth_lpi not found\n");
>> - ret = -ENODEV;
>> - goto err_disable_msi;
>> - }
>> - } else {
>> - res.irq = pdev->irq;
>> }
>>
>> - pci_enable_msi(pdev);
>> memset(&res, 0, sizeof(res));
>> res.addr = pcim_iomap_table(pdev)[0];
>>
>> + ld->dev = &pdev->dev;
>> + plat->bsp_priv = ld;
>> + loongson_gmac = readl(res.addr + GMAC_VERSION) & 0xff;
>> +
>> + switch (loongson_gmac) {
>> + case LOONGSON_DWMAC_CORE_1_00:
>> + plat->setup = loongson_gnet_setup;
>> + /* Only channel 0 of the 0x10 device supports checksum,
>> + * so turn off checksum to enable multiple channels.
>> + */
>> + for (i = 1; i < CHANNEL_NUM; i++) {
>> + plat->tx_queues_cfg[i].coe_unsupported = 1;
>> + };
> nit: '}' rather than '};'
OK.
Thanks,
Yanteng
>
>> + ret = loongson_dwmac_config_msi(pdev, plat, &res, np);
>> + break;
>> + default: /* 0x35 device and 0x37 device. */
>> + ret = loongson_dwmac_config_legacy(pdev, plat, &res, np);
>> + break;
>> + }
>> +
>> ret = stmmac_dvr_probe(&pdev->dev, plat, &res);
>> if (ret)
>> - goto err_disable_msi;
>> + goto err_disable_device;
>>
>> return ret;
>>
>> -err_disable_msi:
>> - pci_disable_msi(pdev);
>> err_disable_device:
>> pci_disable_device(pdev);
>> err_put_node:
> ...
Powered by blists - more mailing lists