| From db091776a0ffc8e91863d244cab1d894f0e470be Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 7 Jan 2022 17:04:43 +0800 |
| Subject: usb: gadget: tegra-xudc: Do not program SPARAM |
| |
| From: Wayne Chang <waynec@nvidia.com> |
| |
| [ 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 | 8 -------- |
| 1 file changed, 8 deletions(-) |
| |
| diff --git a/drivers/usb/gadget/udc/tegra-xudc.c b/drivers/usb/gadget/udc/tegra-xudc.c |
| index 43f1b0d461c1..716d9ab2d2ff 100644 |
| --- a/drivers/usb/gadget/udc/tegra-xudc.c |
| +++ b/drivers/usb/gadget/udc/tegra-xudc.c |
| @@ -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])); |
| -- |
| 2.35.1 |
| |