usb: gadget: tegra-xudc: Do not program SPARAM
authorWayne Chang <waynec@nvidia.com>
Fri, 7 Jan 2022 09:04:43 +0000 (17:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Apr 2022 18:59:01 +0000 (20:59 +0200)
[ Upstream commit 62fb61580eb48fc890b7bc9fb5fd263367baeca8 ]

According to the Tegra Technical Reference Manual, SPARAM
is a read-only register and should not be programmed in
the driver.

The change removes the wrong SPARAM usage.

Signed-off-by: Wayne Chang <waynec@nvidia.com>
Link: https://lore.kernel.org/r/20220107090443.149021-1-waynec@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/gadget/udc/tegra-xudc.c

index 43f1b0d..716d9ab 100644 (file)
@@ -32,9 +32,6 @@
 #include <linux/workqueue.h>
 
 /* XUSB_DEV registers */
-#define SPARAM 0x000
-#define  SPARAM_ERSTMAX_MASK GENMASK(20, 16)
-#define  SPARAM_ERSTMAX(x) (((x) << 16) & SPARAM_ERSTMAX_MASK)
 #define DB 0x004
 #define  DB_TARGET_MASK GENMASK(15, 8)
 #define  DB_TARGET(x) (((x) << 8) & DB_TARGET_MASK)
@@ -3295,11 +3292,6 @@ static void tegra_xudc_init_event_ring(struct tegra_xudc *xudc)
        unsigned int i;
        u32 val;
 
-       val = xudc_readl(xudc, SPARAM);
-       val &= ~(SPARAM_ERSTMAX_MASK);
-       val |= SPARAM_ERSTMAX(XUDC_NR_EVENT_RINGS);
-       xudc_writel(xudc, val, SPARAM);
-
        for (i = 0; i < ARRAY_SIZE(xudc->event_ring); i++) {
                memset(xudc->event_ring[i], 0, XUDC_EVENT_RING_SIZE *
                       sizeof(*xudc->event_ring[i]));