* [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful
@ 2020-10-15 13:20 Michael Tretter
2020-10-15 13:20 ` [PATCH 2/3] net: macb: adjust clk_tx rate for link speed changes Michael Tretter
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Michael Tretter @ 2020-10-15 13:20 UTC (permalink / raw)
To: barebox; +Cc: Michael Tretter
The macb debugging output printed the function entry for various
functions. Especially for *_recv() this debugging flooded the serial
output while conveying very little information.
Remove printing of the function calls to make enabling debugging for the
macb driver more useful.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
---
drivers/net/macb.c | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index e3e039f67988..09b58ffd017f 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -144,8 +144,6 @@ static void reclaim_rx_buffers(struct macb_device *macb,
{
unsigned int i;
- dev_dbg(macb->dev, "%s\n", __func__);
-
i = macb->rx_tail;
while (i > new_tail) {
macb->rx_ring[i].addr &= ~MACB_BIT(RX_USED);
@@ -170,8 +168,6 @@ static int gem_recv(struct eth_device *edev)
int length;
u32 status;
- dev_dbg(macb->dev, "%s\n", __func__);
-
for (;;) {
barrier();
if (!(macb->rx_ring[macb->rx_tail].addr & MACB_BIT(RX_USED)))
@@ -206,8 +202,6 @@ static int macb_recv(struct eth_device *edev)
int wrapped = 0;
u32 status;
- dev_dbg(macb->dev, "%s\n", __func__);
-
for (;;) {
barrier();
if (!(macb->rx_ring[rx_tail].addr & MACB_BIT(RX_USED)))
@@ -288,8 +282,6 @@ static int macb_open(struct eth_device *edev)
{
struct macb_device *macb = edev->priv;
- dev_dbg(macb->dev, "%s\n", __func__);
-
/* Enable TX and RX */
macb_writel(macb, NCR, MACB_BIT(TE) | MACB_BIT(RE));
@@ -350,8 +342,6 @@ static void macb_init(struct macb_device *macb)
unsigned long paddr, val = 0;
int i;
- dev_dbg(macb->dev, "%s\n", __func__);
-
/*
* macb_halt should have been called at some point before now,
* so we'll assume the controller is idle.
@@ -441,8 +431,6 @@ static int macb_phy_read(struct mii_bus *bus, int addr, int reg)
int value;
uint64_t start;
- dev_dbg(macb->dev, "%s\n", __func__);
-
netctl = macb_readl(macb, NCR);
netctl |= MACB_BIT(MPE);
macb_writel(macb, NCR, netctl);
@@ -478,8 +466,6 @@ static int macb_phy_write(struct mii_bus *bus, int addr, int reg, u16 value)
unsigned long netctl;
unsigned long frame;
- dev_dbg(macb->dev, "%s\n", __func__);
-
netctl = macb_readl(macb, NCR);
netctl |= MACB_BIT(MPE);
macb_writel(macb, NCR, netctl);
@@ -510,8 +496,6 @@ static int macb_get_ethaddr(struct eth_device *edev, unsigned char *adr)
u8 addr[6];
int i;
- dev_dbg(macb->dev, "%s\n", __func__);
-
/* Check all 4 address register for vaild address */
for (i = 0; i < 4; i++) {
bottom = macb_or_gem_readl(macb, SA1B + i * 8);
@@ -537,8 +521,6 @@ static int macb_set_ethaddr(struct eth_device *edev, const unsigned char *adr)
{
struct macb_device *macb = edev->priv;
- dev_dbg(macb->dev, "%s\n", __func__);
-
/* set hardware address */
macb_or_gem_writel(macb, SA1B, adr[0] | adr[1] << 8 | adr[2] << 16 | adr[3] << 24);
macb_or_gem_writel(macb, SA1T, adr[4] | adr[5] << 8);
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/3] net: macb: adjust clk_tx rate for link speed changes
2020-10-15 13:20 [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Michael Tretter
@ 2020-10-15 13:20 ` Michael Tretter
2020-10-15 13:20 ` [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems Michael Tretter
2020-10-19 8:02 ` [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Sascha Hauer
2 siblings, 0 replies; 8+ messages in thread
From: Michael Tretter @ 2020-10-15 13:20 UTC (permalink / raw)
To: barebox; +Cc: Michael Tretter
Changes of the link speed might require an adjustment of the clk_tx.
Read the clk_tx from the device tree and change the rate if the link
speed changes.
If the clk_tx rate is already correct, changing the clock is not
required and, thus, not being able to get the clock rate is not fatal.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
---
drivers/net/macb.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 09b58ffd017f..fa530cfe8e4c 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -258,9 +258,38 @@ static int macb_recv(struct eth_device *edev)
return 0;
}
+static int macb_set_tx_clk(struct macb_device *macb, int speed)
+{
+ int rate;
+ int rate_rounded;
+
+ if (!macb->txclk) {
+ dev_dbg(macb->dev, "txclk not available\n");
+ return 0;
+ }
+
+ switch (speed) {
+ case SPEED_100:
+ rate = 25000000;
+ break;
+ case SPEED_1000:
+ rate = 125000000;
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ rate_rounded = clk_round_rate(macb->txclk, rate);
+ if (rate_rounded <= 0)
+ return -EINVAL;
+
+ return clk_set_rate(macb->txclk, rate_rounded);
+}
+
static void macb_adjust_link(struct eth_device *edev)
{
struct macb_device *macb = edev->priv;
+ int err;
u32 reg;
reg = macb_readl(macb, NCFGR);
@@ -276,6 +305,10 @@ static void macb_adjust_link(struct eth_device *edev)
reg |= GEM_BIT(GBE);
macb_or_gem_writel(macb, NCFGR, reg);
+
+ err = macb_set_tx_clk(macb, edev->phydev->speed);
+ if (err)
+ dev_warn(macb->dev, "cannot set txclk\n");
}
static int macb_open(struct eth_device *edev)
@@ -724,6 +757,8 @@ static int macb_probe(struct device_d *dev)
macb->txclk = clk_get(dev, "tx_clk");
if (!IS_ERR(macb->txclk))
clk_enable(macb->txclk);
+ else
+ macb->txclk = NULL;
macb->rxclk = clk_get(dev, "rx_clk");
if (!IS_ERR(macb->rxclk))
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems
2020-10-15 13:20 [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Michael Tretter
2020-10-15 13:20 ` [PATCH 2/3] net: macb: adjust clk_tx rate for link speed changes Michael Tretter
@ 2020-10-15 13:20 ` Michael Tretter
2020-10-15 13:29 ` Ahmad Fatoum
2020-10-19 8:10 ` Sascha Hauer
2020-10-19 8:02 ` [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Sascha Hauer
2 siblings, 2 replies; 8+ messages in thread
From: Michael Tretter @ 2020-10-15 13:20 UTC (permalink / raw)
To: barebox; +Cc: Michael Tretter
On arm64 the compiler prints the following warning, when the macb driver
is enabled:
warning: cast from pointer to integer of different size
Add the same explicit cast as implemented for all other dma addresses in
the macb driver.
Fixes: befd110b5922 ("net: macb: init multiple dummy TX queues")
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
---
drivers/net/macb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index fa530cfe8e4c..188dbf2d8c15 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -365,7 +365,7 @@ static int gmac_init_dummy_tx_queues(struct macb_device *macb)
MACB_BIT(TX_LAST) | MACB_BIT(TX_USED);
for (i = 1; i < num_queues; i++)
- gem_writel_queue_TBQP(macb, &macb->gem_q1_descs[0], i - 1);
+ gem_writel_queue_TBQP(macb, (ulong)macb->gem_q1_descs, i - 1);
return 0;
}
--
2.20.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems
2020-10-15 13:20 ` [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems Michael Tretter
@ 2020-10-15 13:29 ` Ahmad Fatoum
2020-10-15 14:04 ` Michael Tretter
2020-10-19 8:10 ` Sascha Hauer
1 sibling, 1 reply; 8+ messages in thread
From: Ahmad Fatoum @ 2020-10-15 13:29 UTC (permalink / raw)
To: Michael Tretter, barebox
Hello,
On 10/15/20 3:20 PM, Michael Tretter wrote:
> On arm64 the compiler prints the following warning, when the macb driver
> is enabled:
>
> warning: cast from pointer to integer of different size
>
> Add the same explicit cast as implemented for all other dma addresses in
> the macb driver.
>
> Fixes: befd110b5922 ("net: macb: init multiple dummy TX queues")
I don't think this qualifies as a fix. You just silence the compiler
warning you that your truncate the upper 32 bits of your buffer's
address. This works because your SDRAM's location in physical memory
is below 4G.
> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
> ---
> drivers/net/macb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/macb.c b/drivers/net/macb.c
> index fa530cfe8e4c..188dbf2d8c15 100644
> --- a/drivers/net/macb.c
> +++ b/drivers/net/macb.c
> @@ -365,7 +365,7 @@ static int gmac_init_dummy_tx_queues(struct macb_device *macb)
> MACB_BIT(TX_LAST) | MACB_BIT(TX_USED);
>
> for (i = 1; i < num_queues; i++)
> - gem_writel_queue_TBQP(macb, &macb->gem_q1_descs[0], i - 1);
> + gem_writel_queue_TBQP(macb, (ulong)macb->gem_q1_descs, i - 1);
>
> return 0;
> }
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems
2020-10-15 13:29 ` Ahmad Fatoum
@ 2020-10-15 14:04 ` Michael Tretter
2020-10-15 14:13 ` Ahmad Fatoum
0 siblings, 1 reply; 8+ messages in thread
From: Michael Tretter @ 2020-10-15 14:04 UTC (permalink / raw)
To: Ahmad Fatoum; +Cc: barebox
On Thu, 15 Oct 2020 15:29:01 +0200, Ahmad Fatoum wrote:
> On 10/15/20 3:20 PM, Michael Tretter wrote:
> > On arm64 the compiler prints the following warning, when the macb driver
> > is enabled:
> >
> > warning: cast from pointer to integer of different size
> >
> > Add the same explicit cast as implemented for all other dma addresses in
> > the macb driver.
> >
> > Fixes: befd110b5922 ("net: macb: init multiple dummy TX queues")
>
> I don't think this qualifies as a fix. You just silence the compiler
> warning you that your truncate the upper 32 bits of your buffer's
> address. This works because your SDRAM's location in physical memory
> is below 4G.
Correct. Which is exactly the same as assumed by the entire driver...
Michael
>
> > Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
> > ---
> > drivers/net/macb.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/macb.c b/drivers/net/macb.c
> > index fa530cfe8e4c..188dbf2d8c15 100644
> > --- a/drivers/net/macb.c
> > +++ b/drivers/net/macb.c
> > @@ -365,7 +365,7 @@ static int gmac_init_dummy_tx_queues(struct macb_device *macb)
> > MACB_BIT(TX_LAST) | MACB_BIT(TX_USED);
> >
> > for (i = 1; i < num_queues; i++)
> > - gem_writel_queue_TBQP(macb, &macb->gem_q1_descs[0], i - 1);
> > + gem_writel_queue_TBQP(macb, (ulong)macb->gem_q1_descs, i - 1);
> >
> > return 0;
> > }
> >
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems
2020-10-15 14:04 ` Michael Tretter
@ 2020-10-15 14:13 ` Ahmad Fatoum
0 siblings, 0 replies; 8+ messages in thread
From: Ahmad Fatoum @ 2020-10-15 14:13 UTC (permalink / raw)
To: Michael Tretter; +Cc: barebox
Hi,
On 10/15/20 4:04 PM, Michael Tretter wrote:
> On Thu, 15 Oct 2020 15:29:01 +0200, Ahmad Fatoum wrote:
>> On 10/15/20 3:20 PM, Michael Tretter wrote:
>>> On arm64 the compiler prints the following warning, when the macb driver
>>> is enabled:
>>>
>>> warning: cast from pointer to integer of different size
>>>
>>> Add the same explicit cast as implemented for all other dma addresses in
>>> the macb driver.
>>>
>>> Fixes: befd110b5922 ("net: macb: init multiple dummy TX queues")
>>
>> I don't think this qualifies as a fix. You just silence the compiler
>> warning you that your truncate the upper 32 bits of your buffer's
>> address. This works because your SDRAM's location in physical memory
>> is below 4G.
>
> Correct. Which is exactly the same as assumed by the entire driver...
Ye, I am commenting on your Fixes: line though :-)
>
> Michael
>
>>
>>> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
>>> ---
>>> drivers/net/macb.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/macb.c b/drivers/net/macb.c
>>> index fa530cfe8e4c..188dbf2d8c15 100644
>>> --- a/drivers/net/macb.c
>>> +++ b/drivers/net/macb.c
>>> @@ -365,7 +365,7 @@ static int gmac_init_dummy_tx_queues(struct macb_device *macb)
>>> MACB_BIT(TX_LAST) | MACB_BIT(TX_USED);
>>>
>>> for (i = 1; i < num_queues; i++)
>>> - gem_writel_queue_TBQP(macb, &macb->gem_q1_descs[0], i - 1);
>>> + gem_writel_queue_TBQP(macb, (ulong)macb->gem_q1_descs, i - 1);
>>>
>>> return 0;
>>> }
>>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems
2020-10-15 13:20 ` [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems Michael Tretter
2020-10-15 13:29 ` Ahmad Fatoum
@ 2020-10-19 8:10 ` Sascha Hauer
1 sibling, 0 replies; 8+ messages in thread
From: Sascha Hauer @ 2020-10-19 8:10 UTC (permalink / raw)
To: Michael Tretter; +Cc: barebox
On Thu, Oct 15, 2020 at 03:20:48PM +0200, Michael Tretter wrote:
> On arm64 the compiler prints the following warning, when the macb driver
> is enabled:
>
> warning: cast from pointer to integer of different size
>
> Add the same explicit cast as implemented for all other dma addresses in
> the macb driver.
>
> Fixes: befd110b5922 ("net: macb: init multiple dummy TX queues")
Well for me this updates the commit befd110b5922 to the state it should
have looked like, so for me this qualifies as a fix.
Anyway, it would be really good if we could at least catch runtime
errors when we truncate pointers.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful
2020-10-15 13:20 [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Michael Tretter
2020-10-15 13:20 ` [PATCH 2/3] net: macb: adjust clk_tx rate for link speed changes Michael Tretter
2020-10-15 13:20 ` [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems Michael Tretter
@ 2020-10-19 8:02 ` Sascha Hauer
2 siblings, 0 replies; 8+ messages in thread
From: Sascha Hauer @ 2020-10-19 8:02 UTC (permalink / raw)
To: Michael Tretter; +Cc: barebox
On Thu, Oct 15, 2020 at 03:20:46PM +0200, Michael Tretter wrote:
> The macb debugging output printed the function entry for various
> functions. Especially for *_recv() this debugging flooded the serial
> output while conveying very little information.
>
> Remove printing of the function calls to make enabling debugging for the
> macb driver more useful.
>
> Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
> ---
> drivers/net/macb.c | 18 ------------------
> 1 file changed, 18 deletions(-)
Applied, thanks
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-10-19 8:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-15 13:20 [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Michael Tretter
2020-10-15 13:20 ` [PATCH 2/3] net: macb: adjust clk_tx rate for link speed changes Michael Tretter
2020-10-15 13:20 ` [PATCH 3/3] net: macb: fix compiler warning for 64 bit systems Michael Tretter
2020-10-15 13:29 ` Ahmad Fatoum
2020-10-15 14:04 ` Michael Tretter
2020-10-15 14:13 ` Ahmad Fatoum
2020-10-19 8:10 ` Sascha Hauer
2020-10-19 8:02 ` [PATCH 1/3] net: macb: reduce DEBUG output to make it more useful Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox