rockchip: patches-6.6: refresh patches

Signed-off-by: sbwml <admin@cooluc.com>
This commit is contained in:
sbwml 2024-02-25 13:39:34 +08:00
parent 532e31e388
commit cda23b81e8
4 changed files with 29 additions and 29 deletions

View File

@ -18,7 +18,7 @@
--- a/drivers/usb/dwc3/core.c --- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c
@@ -1609,6 +1609,8 @@ static void dwc3_get_properties(struct d @@ -1572,6 +1572,8 @@ static void dwc3_get_properties(struct d
"snps,dis-del-phy-power-chg-quirk"); "snps,dis-del-phy-power-chg-quirk");
dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev,
"snps,dis-tx-ipgap-linecheck-quirk"); "snps,dis-tx-ipgap-linecheck-quirk");
@ -61,7 +61,7 @@
--- a/drivers/usb/host/xhci-plat.c --- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c
@@ -253,6 +253,9 @@ int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const s @@ -253,6 +253,9 @@ int xhci_plat_probe(struct platform_devi
if (device_property_read_bool(tmpdev, "xhci-sg-trb-cache-size-quirk")) if (device_property_read_bool(tmpdev, "xhci-sg-trb-cache-size-quirk"))
xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK; xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK;
@ -73,7 +73,7 @@
} }
--- a/drivers/usb/host/xhci-ring.c --- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c
@@ -3549,6 +3549,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd * @@ -3599,6 +3599,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
bool more_trbs_coming = true; bool more_trbs_coming = true;
bool need_zero_pkt = false; bool need_zero_pkt = false;
bool first_trb = true; bool first_trb = true;
@ -81,7 +81,7 @@
unsigned int num_trbs; unsigned int num_trbs;
unsigned int start_cycle, num_sgs = 0; unsigned int start_cycle, num_sgs = 0;
unsigned int enqd_len, block_len, trb_buff_len, full_len; unsigned int enqd_len, block_len, trb_buff_len, full_len;
@@ -3585,6 +3586,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * @@ -3635,6 +3636,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (urb->transfer_flags & URB_ZERO_PACKET && urb_priv->num_tds > 1) if (urb->transfer_flags & URB_ZERO_PACKET && urb_priv->num_tds > 1)
need_zero_pkt = true; need_zero_pkt = true;
@ -95,7 +95,7 @@
td = &urb_priv->td[0]; td = &urb_priv->td[0];
/* /*
@@ -3613,6 +3621,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd * @@ -3663,6 +3671,13 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
first_trb = false; first_trb = false;
if (start_cycle == 0) if (start_cycle == 0)
field |= TRB_CYCLE; field |= TRB_CYCLE;
@ -109,7 +109,7 @@
} else } else
field |= ring->cycle_state; field |= ring->cycle_state;
@@ -3621,6 +3636,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * @@ -3671,6 +3686,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
*/ */
if (enqd_len + trb_buff_len < full_len) { if (enqd_len + trb_buff_len < full_len) {
field |= TRB_CHAIN; field |= TRB_CHAIN;
@ -132,7 +132,7 @@
#define TRB_MAX_BUFF_SIZE (1 << TRB_MAX_BUFF_SHIFT) #define TRB_MAX_BUFF_SIZE (1 << TRB_MAX_BUFF_SHIFT)
/* How much data is left before the 64KB boundary? */ /* How much data is left before the 64KB boundary? */
#define TRB_BUFF_LEN_UP_TO_BOUNDARY(addr) (TRB_MAX_BUFF_SIZE - \ #define TRB_BUFF_LEN_UP_TO_BOUNDARY(addr) (TRB_MAX_BUFF_SIZE - \
@@ -1848,6 +1852,7 @@ struct xhci_hcd { @@ -1849,6 +1853,7 @@ struct xhci_hcd {
#define XHCI_STATE_HALTED (1 << 1) #define XHCI_STATE_HALTED (1 << 1)
#define XHCI_STATE_REMOVING (1 << 2) #define XHCI_STATE_REMOVING (1 << 2)
unsigned long long quirks; unsigned long long quirks;

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/Kconfig --- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig
@@ -1229,6 +1229,14 @@ config SOCIONEXT_SYNQUACER_PREITS @@ -1247,6 +1247,14 @@ config SOCIONEXT_SYNQUACER_PREITS
If unsure, say Y. If unsure, say Y.

View File

@ -17,7 +17,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
#define ITS_FLAGS_FORCE_NON_SHAREABLE (1ULL << 3) #define ITS_FLAGS_FORCE_NON_SHAREABLE (1ULL << 3)
#define RD_LOCAL_LPI_ENABLED BIT(0) #define RD_LOCAL_LPI_ENABLED BIT(0)
@@ -2201,6 +2202,11 @@ static struct page *its_allocate_prop_ta @@ -2206,6 +2207,11 @@ static struct page *its_allocate_prop_ta
{ {
struct page *prop_page; struct page *prop_page;
@ -29,7 +29,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ)); prop_page = alloc_pages(gfp_flags, get_order(LPI_PROPBASE_SZ));
if (!prop_page) if (!prop_page)
return NULL; return NULL;
@@ -2324,6 +2330,7 @@ static int its_setup_baser(struct its_no @@ -2329,6 +2335,7 @@ static int its_setup_baser(struct its_no
u32 alloc_pages, psz; u32 alloc_pages, psz;
struct page *page; struct page *page;
void *base; void *base;
@ -37,7 +37,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
psz = baser->psz; psz = baser->psz;
alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz); alloc_pages = (PAGE_ORDER_TO_SIZE(order) / psz);
@@ -2335,7 +2342,10 @@ static int its_setup_baser(struct its_no @@ -2340,7 +2347,10 @@ static int its_setup_baser(struct its_no
order = get_order(GITS_BASER_PAGES_MAX * psz); order = get_order(GITS_BASER_PAGES_MAX * psz);
} }
@ -49,7 +49,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
if (!page) if (!page)
return -ENOMEM; return -ENOMEM;
@@ -2385,6 +2395,13 @@ retry_baser: @@ -2390,6 +2400,13 @@ retry_baser:
its_write_baser(its, baser, val); its_write_baser(its, baser, val);
tmp = baser->val; tmp = baser->val;
@ -63,7 +63,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) { if ((val ^ tmp) & GITS_BASER_SHAREABILITY_MASK) {
/* /*
* Shareability didn't stick. Just use * Shareability didn't stick. Just use
@@ -2971,6 +2988,10 @@ static struct page *its_allocate_pending @@ -2980,6 +2997,10 @@ static struct page *its_allocate_pending
{ {
struct page *pend_page; struct page *pend_page;
@ -74,27 +74,27 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
pend_page = alloc_pages(gfp_flags | __GFP_ZERO, pend_page = alloc_pages(gfp_flags | __GFP_ZERO,
get_order(LPI_PENDBASE_SZ)); get_order(LPI_PENDBASE_SZ));
if (!pend_page) if (!pend_page)
@@ -3126,6 +3147,9 @@ static void its_cpu_init_lpis(void) @@ -3135,6 +3156,9 @@ static void its_cpu_init_lpis(void)
gicr_write_propbaser(val, rbase + GICR_PROPBASER); gicr_write_propbaser(val, rbase + GICR_PROPBASER);
tmp = gicr_read_propbaser(rbase + GICR_PROPBASER); tmp = gicr_read_propbaser(rbase + GICR_PROPBASER);
+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) + if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE)
+ tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; + tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK;
+ +
if (gic_rdists->flags & RDIST_FLAGS_FORCE_NON_SHAREABLE) if (!rdists_support_shareable())
tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK; tmp &= ~GICR_PROPBASER_SHAREABILITY_MASK;
@@ -3153,6 +3177,9 @@ static void its_cpu_init_lpis(void) @@ -3162,6 +3186,9 @@ static void its_cpu_init_lpis(void)
gicr_write_pendbaser(val, rbase + GICR_PENDBASER); gicr_write_pendbaser(val, rbase + GICR_PENDBASER);
tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER); tmp = gicr_read_pendbaser(rbase + GICR_PENDBASER);
+ if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE) + if (gic_rdists->flags & ITS_FLAGS_FORCE_NO_LOCAL_CACHE)
+ tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; + tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK;
+ +
if (gic_rdists->flags & RDIST_FLAGS_FORCE_NON_SHAREABLE) if (!rdists_support_shareable())
tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK; tmp &= ~GICR_PENDBASER_SHAREABILITY_MASK;
@@ -3319,7 +3346,12 @@ static bool its_alloc_table_entry(struct @@ -3328,7 +3355,12 @@ static bool its_alloc_table_entry(struct
/* Allocate memory for 2nd level table */ /* Allocate memory for 2nd level table */
if (!table[idx]) { if (!table[idx]) {
@ -108,7 +108,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
get_order(baser->psz)); get_order(baser->psz));
if (!page) if (!page)
return false; return false;
@@ -3408,6 +3440,7 @@ static struct its_device *its_create_dev @@ -3417,6 +3449,7 @@ static struct its_device *its_create_dev
int nr_lpis; int nr_lpis;
int nr_ites; int nr_ites;
int sz; int sz;
@ -116,7 +116,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
if (!its_alloc_device_table(its, dev_id)) if (!its_alloc_device_table(its, dev_id))
return NULL; return NULL;
@@ -3415,7 +3448,11 @@ static struct its_device *its_create_dev @@ -3424,7 +3457,11 @@ static struct its_device *its_create_dev
if (WARN_ON(!is_power_of_2(nvecs))) if (WARN_ON(!is_power_of_2(nvecs)))
nvecs = roundup_pow_of_two(nvecs); nvecs = roundup_pow_of_two(nvecs);
@ -129,7 +129,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
/* /*
* Even if the device wants a single LPI, the ITT must be * Even if the device wants a single LPI, the ITT must be
* sized as a power of two (and you need at least one bit...). * sized as a power of two (and you need at least one bit...).
@@ -3423,7 +3460,7 @@ static struct its_device *its_create_dev @@ -3432,7 +3469,7 @@ static struct its_device *its_create_dev
nr_ites = max(2, nvecs); nr_ites = max(2, nvecs);
sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1); sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1);
sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1; sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1;
@ -138,7 +138,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
if (alloc_lpis) { if (alloc_lpis) {
lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis); lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis);
if (lpi_map) if (lpi_map)
@@ -4762,6 +4799,13 @@ static bool its_set_non_coherent(void *d @@ -4779,6 +4816,13 @@ static bool its_set_non_coherent(void *d
return true; return true;
} }
@ -152,7 +152,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
static const struct gic_quirk its_quirks[] = { static const struct gic_quirk its_quirks[] = {
#ifdef CONFIG_CAVIUM_ERRATUM_22375 #ifdef CONFIG_CAVIUM_ERRATUM_22375
{ {
@@ -4816,6 +4860,14 @@ static const struct gic_quirk its_quirks @@ -4833,6 +4877,14 @@ static const struct gic_quirk its_quirks
.init = its_enable_rk3588001, .init = its_enable_rk3588001,
}, },
#endif #endif
@ -167,15 +167,15 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
{ {
.desc = "ITS: non-coherent attribute", .desc = "ITS: non-coherent attribute",
.property = "dma-noncoherent", .property = "dma-noncoherent",
@@ -5077,6 +5129,7 @@ static int __init its_probe_one(struct i @@ -5094,6 +5146,7 @@ static int __init its_probe_one(struct i
struct page *page; struct page *page;
u32 ctlr; u32 ctlr;
int err; int err;
+ gfp_t gfp_flags; + gfp_t gfp_flags;
if (is_v4(its)) { its_enable_quirks(its);
if (!(its->typer & GITS_TYPER_VMOVP)) {
@@ -5108,7 +5161,9 @@ static int __init its_probe_one(struct i @@ -5127,7 +5180,9 @@ static int __init its_probe_one(struct i
} }
} }
@ -186,7 +186,7 @@ Subject: [PATCH] irqchip: gic-v3: add hackaround for rk3568 its
get_order(ITS_CMD_QUEUE_SZ)); get_order(ITS_CMD_QUEUE_SZ));
if (!page) { if (!page) {
err = -ENOMEM; err = -ENOMEM;
@@ -5134,6 +5189,9 @@ static int __init its_probe_one(struct i @@ -5153,6 +5208,9 @@ static int __init its_probe_one(struct i
gits_write_cbaser(baser, its->base + GITS_CBASER); gits_write_cbaser(baser, its->base + GITS_CBASER);
tmp = gits_read_cbaser(its->base + GITS_CBASER); tmp = gits_read_cbaser(its->base + GITS_CBASER);

View File

@ -1,6 +1,6 @@
--- a/arch/arm64/kernel/irq.c --- a/arch/arm64/kernel/irq.c
+++ b/arch/arm64/kernel/irq.c +++ b/arch/arm64/kernel/irq.c
@@ -105,7 +105,6 @@ int __init set_handle_irq(void (*handle_irq)(struct pt_regs *)) @@ -106,7 +106,6 @@ int __init set_handle_irq(void (*handle_
return -EBUSY; return -EBUSY;
handle_arch_irq = handle_irq; handle_arch_irq = handle_irq;