Re: [PATCH v12, 2/2] net: Add dm9051 driver

From: Andy Shevchenko
Date: Fri Jan 21 2022 - 05:37:45 EST


On Fri, Jan 21, 2022 at 6:15 AM Joseph CHAMG <josright123@xxxxxxxxx> wrote:
>
> v1-v4
>
> Add davicom dm9051 spi ethernet driver. The driver work for the
> device platform with spi master
>
> Test ok with raspberry pi 2 and pi 4, the spi configure used in
> my raspberry pi 4 is spi0.1, spi speed 31200000, and INT by pin 26.
>
> v5
>
> Work to eliminate the wrappers to be clear for read, swapped to
> phylib for phy connection tasks.
>
> Tested with raspberry pi 4. Test for netwroking function, CAT5
> cable unplug/plug and also ethtool detect for link state, and
> all are ok.
>
> v6
>
> remove the redundant code that phylib has support,
> adjust to be the reasonable sequence,
> fine tune comments, add comments for pause function support
>
> Tested with raspberry pi 4. Test for netwroking function, CAT5
> cable unplug/plug and also ethtool detect for link state, and
> all are ok.
>
> v7
>
> read/write registers must return error code to the callet,
> add to enable pause processing
>
> v8
>
> not parmanently set MAC by .ndo_set_mac_address
>
> correct rx function such as clear ISR,
> inblk avoid stack buffer,
> simple skb buffer process and
> easy use netif_rx_ni.
>
> simplely queue init and wake the queues,
> limit the start_xmit function use netif_stop_queue.
>
> descript that schedule delay is essential
> for tx_work and rxctrl_work
>
> eliminate ____cacheline_aligned and
> add static int msg_enable.
>
> v9
>
> use phylib, no need 'select MII' in Kconfig,
> make it clear in dm9051_xfer when using spi_sync,
> improve the registers read/write so that error code
> return as far as possible up the call stack.
>
> v10
>
> use regmap APIs for SPI and MDIO,
> modify to correcting such as include header files
> and program check styles
>
> v11
>
> eliminate the redundant code for struct regmap_config data
> use regmap_read_poll_timeout
> use corresponding regmap APIs, i.e. MDIO, SPI
> all read/write registers by regmap
> all read/write registers with mutex lock by regmap
> problem: regmap MDIO and SPI has no .reg_update_bits, I write it
> in the driver
> problem: this chip can support bulk read/write to rx/tx data, but
> can not support bulk read/write to continue registers, so need
> read/write register one by one
>
> v12
>
> correctly use regmap bulk read/write/update_bits APIs
> use mdiobus to work to phylib and to this driver
> fine tune to arrange the source code to better usage

This is not tagged properly. Also, I specifically removed everything
else to point out, please, read finally the article [1] and write a
proper commit message. And move changelog under the cutter '--- '
line. Without doing these two things nobody can do anything with your
contribution.

[1]: https://cbea.ms/git-commit/


--
With Best Regards,
Andy Shevchenko