Re: [PATCH 1/2] dl2k: Add support for IP1000A-based cards

From: Ondrej Zary
Date: Sun Nov 15 2015 - 15:05:15 EST


On Sunday 15 November 2015 18:59:05 David Miller wrote:
> From: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Date: Sun, 15 Nov 2015 04:30:25 +0200
>
> > On Sun, Nov 15, 2015 at 12:05 AM, Ondrej Zary
> >
> >> @@ -433,9 +474,10 @@ rio_open (struct net_device *dev)
> >>
> >> alloc_list (dev);
> >>
> >> - /* Get station address */
> >> - for (i = 0; i < 6; i++)
> >> - dw8(StationAddr0 + i, dev->dev_addr[i]);
> >> + /* Set station address */
> >> + for (i = 0; i < 3; i++)
> >> + dw16(StationAddr0 + 2 * i,
> >> + cpu_to_le16(((u16 *)dev->dev_addr)[i]));
> >
> > Is it specific requirement for new HW? If not, may be another patch
> > with micro optimizations.
>
> I absolutely agree, this definitely should not just be blindly copied
> over from the other driver.
>
> And if it is a requirement:

Yes, it's required. The byte access does not work on IP1000A chips.

> 1) It must be documented as per why, both in a comment above the loop
> and in the commit log message.

OK.

> 2) It must therefore be tested on dl2k chips that worked with the
> dl2k driver beforehand to prove that it doesn't break them.

Tested it with D-Link DGE-550T (chip marked DL-2000, probably rebranded
TC9020) and it works fine.
Even the TC9020 datasheet says: "Access Rule: Word, Double Word". So it was
always wrong but worked anyway.

--
Ondrej Zary
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/