Skip to content

Commit

Permalink
kernel: bump 6.6 to 6.6.51
Browse files Browse the repository at this point in the history
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.51

Removed upstreamed:
	generic/backport-6.6/200-regmap-maple-work-around-false-positive-warning.patch
	generic/backport-6.6/822-v6.11-0012-nvmem-Fix-return-type-of-devm_nvmem_device_get-in-ke.patch
	bcm27xx/patches-6.6/950-1018-drivers-mmc-apply-SD-quirks-earlier-during-probe.patch

Manually rebased:
	bcm27xx/patches-6.6/950-0993-drivers-mmc-cqhci-clear-CQHCI_CTL-if-halt-fails.patch
	ramips/patches-6.6/311-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch[4]

All other patches automatically rebased.

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=e42ea96d6d36a16526cb82b8aa2e5422814c3250
2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=3d1baf322a3a69b38b6b2d511cfe0d611d1b5462
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.51&id=115a755bb38db5a1175be44e6a9a93a0a8233885
4. Adapted the changes from Hauke Mehrtens' modification in PR#16366 to 5.15.167

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <[email protected]>
Link: openwrt#16370
Signed-off-by: Robert Marko <[email protected]>
  • Loading branch information
graysky2 authored and robimarko committed Sep 15, 2024
1 parent 8d302f5 commit 01d8e41
Show file tree
Hide file tree
Showing 28 changed files with 117 additions and 269 deletions.
4 changes: 2 additions & 2 deletions include/kernel-6.6
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
LINUX_VERSION-6.6 = .50
LINUX_KERNEL_HASH-6.6.50 = c065e36daf28210060c91a37ef3e92ac5814784e634577e04e406297ead2e86e
LINUX_VERSION-6.6 = .51
LINUX_KERNEL_HASH-6.6.51 = 1c0c9a14650879c4913efdbac428ba31a540c3d987155ddf34d33e11eca008b3
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <[email protected]>

--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -2222,7 +2222,7 @@ mackey_and_ltk:
@@ -2215,7 +2215,7 @@ mackey_and_ltk:
if (err)
return SMP_UNSPECIFIED;

Expand All @@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <[email protected]>
if (test_bit(SMP_FLAG_INITIATOR, &smp->flags)) {
sc_dhkey_check(smp);
SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
@@ -2237,9 +2237,6 @@ mackey_and_ltk:
@@ -2230,9 +2230,6 @@ mackey_and_ltk:
confirm_hint = 0;

confirm:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,7 @@ Signed-off-by: Phil Elwell <[email protected]>
}
--- a/drivers/mmc/core/quirks.h
+++ b/drivers/mmc/core/quirks.h
@@ -130,6 +130,14 @@ static const struct mmc_fixup __maybe_un
@@ -134,6 +134,14 @@ static const struct mmc_fixup __maybe_un
MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd,
MMC_QUIRK_BROKEN_SD_DISCARD),

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ Signed-off-by: Phil Elwell <[email protected]>

--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -4707,6 +4707,7 @@ static const struct {
@@ -4861,6 +4861,7 @@ static const struct {
*/
static int hci_dev_setup_sync(struct hci_dev *hdev)
{
+ struct fwnode_handle *fwnode = dev_fwnode(hdev->dev.parent);
int ret = 0;
bool invalid_bdaddr;
size_t i;
@@ -4735,7 +4736,8 @@ static int hci_dev_setup_sync(struct hci
@@ -4889,7 +4890,8 @@ static int hci_dev_setup_sync(struct hci
test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
if (!ret) {
if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
ret = dwc3_phy_power_on(dwc);
if (ret)
goto err_exit_phy;
@@ -1341,6 +1361,24 @@ static int dwc3_core_init(struct dwc3 *d
@@ -1356,6 +1376,24 @@ static int dwc3_core_init(struct dwc3 *d

dwc3_config_threshold(dwc);

Expand All @@ -271,15 +271,15 @@ Signed-off-by: Jonathan Bell <[email protected]>
return 0;

err_power_off_phy:
@@ -1484,6 +1522,7 @@ static void dwc3_get_properties(struct d
@@ -1499,6 +1537,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num;
+ u8 axi_pipe_limit;
const char *usb_psy_name;
int ret;

@@ -1506,6 +1545,9 @@ static void dwc3_get_properties(struct d
@@ -1521,6 +1560,9 @@ static void dwc3_get_properties(struct d
*/
tx_fifo_resize_max_num = 6;

Expand All @@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev);
@@ -1627,6 +1669,9 @@ static void dwc3_get_properties(struct d
@@ -1642,6 +1684,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk");

Expand All @@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;

@@ -1644,6 +1689,8 @@ static void dwc3_get_properties(struct d
@@ -1659,6 +1704,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd;

Expand All @@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
dwc->imod_interval = 0;

dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
@@ -1919,6 +1966,12 @@ static int dwc3_probe(struct platform_de
@@ -1934,6 +1981,12 @@ static int dwc3_probe(struct platform_de

dwc3_get_properties(dwc);

Expand All @@ -333,15 +333,15 @@ Signed-off-by: Jonathan Bell <[email protected]>
/* Global Debug LSP MUX Select */
#define DWC3_GDBGLSPMUX_ENDBC BIT(15) /* Host only */
#define DWC3_GDBGLSPMUX_HOSTSELECT(n) ((n) & 0x3fff)
@@ -1060,6 +1063,7 @@ struct dwc3_scratchpad_array {
@@ -1061,6 +1064,7 @@ struct dwc3_scratchpad_array {
* @tx_max_burst_prd: max periodic ESS transmit burst size
* @tx_fifo_resize_max_num: max number of fifos allocated during txfifo resize
* @clear_stall_protocol: endpoint number that requires a delayed status phase
+ * @axi_max_pipe: set to override the maximum number of pipelined AXI transfers
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
@@ -1294,6 +1298,7 @@ struct dwc3 {
@@ -1296,6 +1300,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -1351,6 +1351,9 @@ static int dwc3_core_init(struct dwc3 *d
@@ -1366,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;

Expand All @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL))
@@ -1649,6 +1652,8 @@ static void dwc3_get_properties(struct d
@@ -1664,6 +1667,8 @@ static void dwc3_get_properties(struct d
"snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk");
Expand All @@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10)

/* Global Status Register */
@@ -1115,10 +1116,12 @@ struct dwc3_scratchpad_array {
@@ -1116,10 +1117,12 @@ struct dwc3_scratchpad_array {
* generation after resume from suspend.
* @ulpi_ext_vbus_drv: Set to confiure the upli chip to drives CPEN pin
* VBUS with an external supply.
Expand All @@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis
@@ -1342,6 +1345,7 @@ struct dwc3 {
@@ -1344,6 +1347,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
cmd.flags &= ~MMC_RSP_CRC; /* Ignore CRC */
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -1015,8 +1015,8 @@ static bool mmc_sd_card_using_v18(struct
@@ -1016,8 +1016,8 @@ static bool mmc_sd_card_using_v18(struct
(SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
}

Expand All @@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
{
struct mmc_host *host = card->host;
struct mmc_request mrq = {};
@@ -1174,8 +1174,14 @@ static int sd_parse_ext_reg_perf(struct
@@ -1175,8 +1175,14 @@ static int sd_parse_ext_reg_perf(struct
card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;

/* Command queue support indicated via queue depth bits (0 to 4). */
Expand All @@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

card->ext_perf.fno = fno;
card->ext_perf.page = page;
@@ -1559,13 +1565,41 @@ cont:
@@ -1563,13 +1569,41 @@ cont:
goto free_card;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
kfree(card);
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -1025,9 +1025,8 @@ int sd_write_ext_reg(struct mmc_card *ca
@@ -1026,9 +1026,8 @@ int sd_write_ext_reg(struct mmc_card *ca
struct scatterlist sg;
u8 *reg_buf;

Expand All @@ -42,7 +42,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

mrq.cmd = &cmd;
mrq.data = &data;
@@ -1059,8 +1058,6 @@ int sd_write_ext_reg(struct mmc_card *ca
@@ -1060,8 +1059,6 @@ int sd_write_ext_reg(struct mmc_card *ca
mmc_set_data_timeout(&data, card);
mmc_wait_for_req(host, &mrq);

Expand All @@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
/*
* Note that, the SD card is allowed to signal busy on DAT0 up to 1s
* after the CMD49. Although, let's leave this to be managed by the
@@ -1101,9 +1098,7 @@ static int sd_parse_ext_reg_power(struct
@@ -1102,9 +1099,7 @@ static int sd_parse_ext_reg_power(struct
int err;
u8 *reg_buf;

Expand All @@ -62,15 +62,15 @@ Signed-off-by: Jonathan Bell <[email protected]>

/* Read the extension register for power management function. */
err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
@@ -1133,7 +1128,6 @@ static int sd_parse_ext_reg_power(struct
@@ -1134,7 +1129,6 @@ static int sd_parse_ext_reg_power(struct
card->ext_power.offset = offset;

out:
- kfree(reg_buf);
return err;
}

@@ -1143,9 +1137,7 @@ static int sd_parse_ext_reg_perf(struct
@@ -1144,9 +1138,7 @@ static int sd_parse_ext_reg_perf(struct
int err;
u8 *reg_buf;

Expand All @@ -81,15 +81,15 @@ Signed-off-by: Jonathan Bell <[email protected]>

err = sd_read_ext_reg(card, fno, page, offset, 512, reg_buf);
if (err) {
@@ -1188,7 +1180,6 @@ static int sd_parse_ext_reg_perf(struct
@@ -1189,7 +1181,6 @@ static int sd_parse_ext_reg_perf(struct
card->ext_perf.offset = offset;

out:
- kfree(reg_buf);
return err;
}

@@ -1259,6 +1250,12 @@ static int sd_read_ext_regs(struct mmc_c
@@ -1260,6 +1251,12 @@ static int sd_read_ext_regs(struct mmc_c
if (!gen_info_buf)
return -ENOMEM;

Expand All @@ -102,7 +102,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
/*
* Read 512 bytes of general info, which is found at function number 0,
* at page 0 and with no offset.
@@ -1325,9 +1322,7 @@ static int sd_flush_cache(struct mmc_hos
@@ -1326,9 +1323,7 @@ static int sd_flush_cache(struct mmc_hos
if (!sd_cache_enabled(host))
return 0;

Expand All @@ -113,7 +113,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

/*
* Set Flush Cache at bit 0 in the performance enhancement register at
@@ -1363,21 +1358,15 @@ static int sd_flush_cache(struct mmc_hos
@@ -1364,21 +1359,15 @@ static int sd_flush_cache(struct mmc_hos
if (reg_buf[0] & BIT(0))
err = -ETIMEDOUT;
out:
Expand All @@ -135,7 +135,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
/*
* Set Cache Enable at bit 0 in the performance enhancement register at
* 260 bytes offset.
@@ -1396,7 +1385,6 @@ static int sd_enable_cache(struct mmc_ca
@@ -1397,7 +1386,6 @@ static int sd_enable_cache(struct mmc_ca
card->ext_perf.feature_enabled |= SD_EXT_PERF_CACHE;

out:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,6 @@ Signed-off-by: Jonathan Bell <[email protected]>
pr_debug("%s: cqhci: CQE off\n", mmc_hostname(mmc));

if (cq_host->ops->post_disable)
@@ -612,7 +614,7 @@ static int cqhci_request(struct mmc_host
cqhci_writel(cq_host, 0, CQHCI_CTL);
mmc->cqe_on = true;
pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
- if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) {
+ if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {
pr_err("%s: cqhci: CQE failed to exit halt state\n",
mmc_hostname(mmc));
}
@@ -975,8 +977,11 @@ static bool cqhci_halt(struct mmc_host *

ret = cqhci_halted(cq_host);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -1015,83 +1015,6 @@ static bool mmc_sd_card_using_v18(struct
@@ -1016,83 +1016,6 @@ static bool mmc_sd_card_using_v18(struct
(SD_MODE_UHS_SDR50 | SD_MODE_UHS_SDR104 | SD_MODE_UHS_DDR50);
}

Expand Down Expand Up @@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
static int sd_parse_ext_reg_power(struct mmc_card *card, u8 fno, u8 page,
u16 offset)
{
@@ -1101,7 +1024,7 @@ static int sd_parse_ext_reg_power(struct
@@ -1102,7 +1025,7 @@ static int sd_parse_ext_reg_power(struct
reg_buf = card->ext_reg_buf;

/* Read the extension register for power management function. */
Expand All @@ -109,7 +109,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err) {
pr_warn("%s: error %d reading PM func of ext reg\n",
mmc_hostname(card->host), err);
@@ -1139,7 +1062,7 @@ static int sd_parse_ext_reg_perf(struct
@@ -1140,7 +1063,7 @@ static int sd_parse_ext_reg_perf(struct

reg_buf = card->ext_reg_buf;

Expand All @@ -118,7 +118,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err) {
pr_warn("%s: error %d reading PERF func of ext reg\n",
mmc_hostname(card->host), err);
@@ -1234,7 +1157,7 @@ static int sd_parse_ext_reg(struct mmc_c
@@ -1235,7 +1158,7 @@ static int sd_parse_ext_reg(struct mmc_c
return 0;
}

Expand All @@ -127,7 +127,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
{
int err, i;
u8 num_ext, *gen_info_buf;
@@ -1260,7 +1183,7 @@ static int sd_read_ext_regs(struct mmc_c
@@ -1261,7 +1184,7 @@ static int sd_read_ext_regs(struct mmc_c
* Read 512 bytes of general info, which is found at function number 0,
* at page 0 and with no offset.
*/
Expand All @@ -136,7 +136,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err) {
pr_err("%s: error %d reading general info of SD ext reg\n",
mmc_hostname(card->host), err);
@@ -1332,7 +1255,7 @@ static int sd_flush_cache(struct mmc_hos
@@ -1333,7 +1256,7 @@ static int sd_flush_cache(struct mmc_hos
page = card->ext_perf.page;
offset = card->ext_perf.offset + 261;

Expand All @@ -145,7 +145,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err) {
pr_warn("%s: error %d writing Cache Flush bit\n",
mmc_hostname(host), err);
@@ -1348,7 +1271,7 @@ static int sd_flush_cache(struct mmc_hos
@@ -1349,7 +1272,7 @@ static int sd_flush_cache(struct mmc_hos
* Read the Flush Cache bit. The card shall reset it, to confirm that
* it's has completed the flushing of the cache.
*/
Expand All @@ -154,7 +154,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err) {
pr_warn("%s: error %d reading Cache Flush bit\n",
mmc_hostname(host), err);
@@ -1371,7 +1294,7 @@ static int sd_enable_cache(struct mmc_ca
@@ -1372,7 +1295,7 @@ static int sd_enable_cache(struct mmc_ca
* Set Cache Enable at bit 0 in the performance enhancement register at
* 260 bytes offset.
*/
Expand All @@ -163,7 +163,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
card->ext_perf.offset + 260, BIT(0));
if (err) {
pr_warn("%s: error %d writing Cache Enable bit\n",
@@ -1541,7 +1464,7 @@ retry:
@@ -1545,7 +1468,7 @@ retry:
cont:
if (!oldcard) {
/* Read/parse the extension registers. */
Expand All @@ -172,7 +172,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
if (err)
goto free_card;
}
@@ -1668,7 +1591,7 @@ static int sd_busy_poweroff_notify_cb(vo
@@ -1672,7 +1595,7 @@ static int sd_busy_poweroff_notify_cb(vo
* one byte offset and is one byte long. The Power Off Notification
* Ready is bit 0.
*/
Expand All @@ -181,7 +181,7 @@ Signed-off-by: Jonathan Bell <[email protected]>
card->ext_power.offset + 1, 1, data->reg_buf);
if (err) {
pr_warn("%s: error %d reading status reg of PM func\n",
@@ -1694,7 +1617,7 @@ static int sd_poweroff_notify(struct mmc
@@ -1698,7 +1621,7 @@ static int sd_poweroff_notify(struct mmc
* Set the Power Off Notification bit in the power management settings
* register at 2 bytes offset.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Signed-off-by: Jonathan Bell <[email protected]>

--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
@@ -1088,8 +1088,12 @@ static int sd_parse_ext_reg_perf(struct
@@ -1089,8 +1089,12 @@ static int sd_parse_ext_reg_perf(struct
if ((reg_buf[4] & BIT(0)) && !mmc_card_broken_sd_cache(card))
card->ext_perf.feature_support |= SD_EXT_PERF_CACHE;

Expand Down
Loading

0 comments on commit 01d8e41

Please sign in to comment.