lkml.org 
[lkml]   [2023]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 RFC 9/9] wifi: rtw88: Add support for the SDIO based RTL8821CS chipset
    On Fri, Mar 10, 2023 at 09:29:22PM +0100, Martin Blumenstingl wrote:
    > Wire up RTL8821CS chipset support using the new rtw88 SDIO HCI code as
    > well as the existing RTL8821C chipset code.
    >
    > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    > ---
    > Changes since v1:
    > - use /* ... */ style for copyright comments
    >
    >
    > drivers/net/wireless/realtek/rtw88/Kconfig | 11 ++++++
    > drivers/net/wireless/realtek/rtw88/Makefile | 3 ++
    > .../net/wireless/realtek/rtw88/rtw8821cs.c | 35 +++++++++++++++++++
    > 3 files changed, 49 insertions(+)
    > create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8821cs.c
    >
    > diff --git a/drivers/net/wireless/realtek/rtw88/Kconfig b/drivers/net/wireless/realtek/rtw88/Kconfig
    > index 6b65da81127f..29eb2f8e0eb7 100644
    > --- a/drivers/net/wireless/realtek/rtw88/Kconfig
    > +++ b/drivers/net/wireless/realtek/rtw88/Kconfig
    > @@ -133,6 +133,17 @@ config RTW88_8821CE
    >
    > 802.11ac PCIe wireless network adapter
    >
    > +config RTW88_8821CS
    > + tristate "Realtek 8821CS SDIO wireless network adapter"
    > + depends on MMC
    > + select RTW88_CORE
    > + select RTW88_SDIO
    > + select RTW88_8821C
    > + help
    > + Select this option will enable support for 8821CS chipset
    > +
    > + 802.11ac SDIO wireless network adapter
    > +
    > config RTW88_8821CU
    > tristate "Realtek 8821CU USB wireless network adapter"
    > depends on USB
    > diff --git a/drivers/net/wireless/realtek/rtw88/Makefile b/drivers/net/wireless/realtek/rtw88/Makefile
    > index 6105c2745bda..82979b30ae8d 100644
    > --- a/drivers/net/wireless/realtek/rtw88/Makefile
    > +++ b/drivers/net/wireless/realtek/rtw88/Makefile
    > @@ -59,6 +59,9 @@ rtw88_8821c-objs := rtw8821c.o rtw8821c_table.o
    > obj-$(CONFIG_RTW88_8821CE) += rtw88_8821ce.o
    > rtw88_8821ce-objs := rtw8821ce.o
    >
    > +obj-$(CONFIG_RTW88_8821CS) += rtw88_8821cs.o
    > +rtw88_8821cs-objs := rtw8821cs.o
    > +
    > obj-$(CONFIG_RTW88_8821CU) += rtw88_8821cu.o
    > rtw88_8821cu-objs := rtw8821cu.o
    >
    > diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821cs.c b/drivers/net/wireless/realtek/rtw88/rtw8821cs.c
    > new file mode 100644
    > index 000000000000..7ad7c13ac9e6
    > --- /dev/null
    > +++ b/drivers/net/wireless/realtek/rtw88/rtw8821cs.c
    > @@ -0,0 +1,35 @@
    > +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
    > +/* Copyright(c) Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    > + */
    > +
    > +#include <linux/mmc/sdio_func.h>
    > +#include <linux/mmc/sdio_ids.h>
    > +#include <linux/module.h>
    > +#include "sdio.h"
    > +#include "rtw8821c.h"
    > +
    > +static const struct sdio_device_id rtw_8821cs_id_table[] = {
    > + {
    > + SDIO_DEVICE(SDIO_VENDOR_ID_REALTEK,
    > + SDIO_DEVICE_ID_REALTEK_RTW8821CS),
    > + .driver_data = (kernel_ulong_t)&rtw8821c_hw_spec,
    > + },
    > + {}
    > +};
    > +MODULE_DEVICE_TABLE(sdio, rtw_8821cs_id_table);
    > +
    > +static struct sdio_driver rtw_8821cs_driver = {
    > + .name = "rtw_8821cs",
    > + .probe = rtw_sdio_probe,
    > + .remove = rtw_sdio_remove,
    > + .id_table = rtw_8821cs_id_table,
    > + .drv = {
    > + .pm = &rtw_sdio_pm_ops,
    > + .shutdown = rtw_sdio_shutdown,
    > + }
    > +};
    > +module_sdio_driver(rtw_8821cs_driver);
    > +
    > +MODULE_AUTHOR("Martin Blumenstingl <martin.blumenstingl@googlemail.com>");
    > +MODULE_DESCRIPTION("Realtek 802.11ac wireless 8821cs driver");
    > +MODULE_LICENSE("Dual BSD/GPL");
    > --
    > 2.39.2
    >

    Overall it works well for me, but when I resume from suspend I get the
    following filling up my dmesg:

    rtw_8821cs mmc3:0001:1: sdio read8 failed (0x86): -110

    So suspend/resume seems to be an issue, but otherwise it works well
    for me.

    Chris Morgan

    \
     
     \ /
      Last update: 2023-03-27 01:04    [W:4.120 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site