From: John Audia Date: Thu, 1 Oct 2020 13:22:00 +0000 (-0400) Subject: kernel: bump 5.4 to 5.4.69 X-Git-Tag: v21.02.0-rc1~1420 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=d6a9a92e32177e8236812045d09deacc4e36be26 kernel: bump 5.4 to 5.4.69 Seemingly unneeded based on new upstream code so manually deleted: layerscape: 820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch Manually merged: generic-hack: 251-sound_kconfig.patch All other modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711 Run-tested: ipq806x/R7800, lantiq/Easybox 904 xDSL No dmesg regressions, everything functional Signed-off-by: John Audia [add lantiq test report, minor commit message clarification] Signed-off-by: Adrian Schmutzler --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index b251526c7d..c9146d6374 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL endif LINUX_VERSION-4.19 = .138 -LINUX_VERSION-5.4 = .68 +LINUX_VERSION-5.4 = .69 LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02 -LINUX_KERNEL_HASH-5.4.68 = 0e93876c5ae8dc0c55cbe631971a46ab02b90cf7461fed3085703a5e4e3cd6dd +LINUX_KERNEL_HASH-5.4.69 = a8b31d716b397303a183e42ad525ff2871024a43e3ea530d0fdf73b7f9d27da7 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch index d7bc3d709d..d8bb3bfbf6 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch @@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org } --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -2278,6 +2278,7 @@ struct irq_domain; +@@ -2277,6 +2277,7 @@ struct irq_domain; struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus); int pci_parse_request_of_pci_ranges(struct device *dev, struct list_head *resources, @@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org struct resource **bus_range); /* Arch may override this (weak) */ -@@ -2286,9 +2287,11 @@ struct device_node *pcibios_get_phb_of_n +@@ -2285,9 +2286,11 @@ struct device_node *pcibios_get_phb_of_n #else /* CONFIG_OF */ static inline struct irq_domain * pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0564-drm-vc4-crtc-Rename-HDMI-encoder-type-to-HDMI0.patch b/target/linux/bcm27xx/patches-5.4/950-0564-drm-vc4-crtc-Rename-HDMI-encoder-type-to-HDMI0.patch index 17362dafe3..fa6a8f9a63 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0564-drm-vc4-crtc-Rename-HDMI-encoder-type-to-HDMI0.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0564-drm-vc4-crtc-Rename-HDMI-encoder-type-to-HDMI0.patch @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard VC4_ENCODER_TYPE_DSI1, --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1319,7 +1319,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1320,7 +1320,7 @@ static int vc4_hdmi_bind(struct device * GFP_KERNEL); if (!vc4_hdmi_encoder) return -ENOMEM; diff --git a/target/linux/bcm27xx/patches-5.4/950-0572-drm-vc4-hdmi-rework-connectors-and-encoders.patch b/target/linux/bcm27xx/patches-5.4/950-0572-drm-vc4-hdmi-rework-connectors-and-encoders.patch index 71125e3e25..ebe6432913 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0572-drm-vc4-hdmi-rework-connectors-and-encoders.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0572-drm-vc4-hdmi-rework-connectors-and-encoders.patch @@ -180,7 +180,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1230,7 +1229,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1231,7 +1230,7 @@ static int vc4_hdmi_bind(struct device * struct drm_device *drm = dev_get_drvdata(master); struct vc4_dev *vc4 = drm->dev_private; struct vc4_hdmi *hdmi; @@ -189,7 +189,7 @@ Signed-off-by: Maxime Ripard struct device_node *ddc_node; u32 value; int ret; -@@ -1239,14 +1238,10 @@ static int vc4_hdmi_bind(struct device * +@@ -1240,14 +1239,10 @@ static int vc4_hdmi_bind(struct device * if (!hdmi) return -ENOMEM; @@ -207,7 +207,7 @@ Signed-off-by: Maxime Ripard hdmi->hdmicore_regs = vc4_ioremap_regs(pdev, 0); if (IS_ERR(hdmi->hdmicore_regs)) return PTR_ERR(hdmi->hdmicore_regs); -@@ -1332,15 +1327,14 @@ static int vc4_hdmi_bind(struct device * +@@ -1333,15 +1328,14 @@ static int vc4_hdmi_bind(struct device * } pm_runtime_enable(dev); @@ -228,7 +228,7 @@ Signed-off-by: Maxime Ripard #ifdef CONFIG_DRM_VC4_HDMI_CEC hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4, "vc4", -@@ -1350,7 +1344,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1351,7 +1345,7 @@ static int vc4_hdmi_bind(struct device * if (ret < 0) goto err_destroy_conn; @@ -237,7 +237,7 @@ Signed-off-by: Maxime Ripard cec_s_conn_info(hdmi->cec_adap, &conn_info); HDMI_WRITE(VC4_HDMI_CPU_MASK_SET, 0xffffffff); -@@ -1387,10 +1381,10 @@ static int vc4_hdmi_bind(struct device * +@@ -1388,10 +1382,10 @@ static int vc4_hdmi_bind(struct device * err_delete_cec_adap: cec_delete_adapter(hdmi->cec_adap); err_destroy_conn: @@ -250,7 +250,7 @@ Signed-off-by: Maxime Ripard err_unprepare_hsm: clk_disable_unprepare(hdmi->hsm_clock); pm_runtime_disable(dev); -@@ -1408,8 +1402,8 @@ static void vc4_hdmi_unbind(struct devic +@@ -1409,8 +1403,8 @@ static void vc4_hdmi_unbind(struct devic struct vc4_hdmi *hdmi = vc4->hdmi; cec_unregister_adapter(hdmi->cec_adap); diff --git a/target/linux/bcm27xx/patches-5.4/950-0573-drm-vc4-hdmi-Rename-hdmi-to-vc4_hdmi.patch b/target/linux/bcm27xx/patches-5.4/950-0573-drm-vc4-hdmi-Rename-hdmi-to-vc4_hdmi.patch index 75c44a564a..19296e93ee 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0573-drm-vc4-hdmi-Rename-hdmi-to-vc4_hdmi.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0573-drm-vc4-hdmi-Rename-hdmi-to-vc4_hdmi.patch @@ -401,7 +401,7 @@ Signed-off-by: Maxime Ripard dai_link->num_cpus = 1; dai_link->num_codecs = 1; -@@ -1058,7 +1058,7 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1059,7 +1059,7 @@ static int vc4_hdmi_audio_init(struct vc * now stored in card->drvdata and should be retrieved with * snd_soc_card_get_drvdata() if needed. */ @@ -410,7 +410,7 @@ Signed-off-by: Maxime Ripard ret = devm_snd_soc_register_card(dev, card); if (ret) dev_err(dev, "Could not register sound card: %d\n", ret); -@@ -1071,20 +1071,21 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1072,20 +1072,21 @@ static int vc4_hdmi_audio_init(struct vc static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) { struct vc4_dev *vc4 = priv; @@ -439,7 +439,7 @@ Signed-off-by: Maxime Ripard 0, 2, 0, 0); } return IRQ_HANDLED; -@@ -1110,23 +1111,23 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1111,23 +1112,23 @@ static void vc4_cec_read_msg(struct vc4_ static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) { struct vc4_dev *vc4 = priv; @@ -468,7 +468,7 @@ Signed-off-by: Maxime Ripard cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; } HDMI_WRITE(VC4_HDMI_CEC_CNTRL_1, cntrl1); -@@ -1228,44 +1229,44 @@ static int vc4_hdmi_bind(struct device * +@@ -1229,44 +1230,44 @@ static int vc4_hdmi_bind(struct device * struct platform_device *pdev = to_platform_device(dev); struct drm_device *drm = dev_get_drvdata(master); struct vc4_dev *vc4 = drm->dev_private; @@ -538,7 +538,7 @@ Signed-off-by: Maxime Ripard } ddc_node = of_parse_phandle(dev->of_node, "ddc", 0); -@@ -1274,9 +1275,9 @@ static int vc4_hdmi_bind(struct device * +@@ -1275,9 +1276,9 @@ static int vc4_hdmi_bind(struct device * return -ENODEV; } @@ -550,7 +550,7 @@ Signed-off-by: Maxime Ripard DRM_DEBUG("Failed to get ddc i2c adapter by node\n"); return -EPROBE_DEFER; } -@@ -1285,13 +1286,13 @@ static int vc4_hdmi_bind(struct device * +@@ -1286,13 +1287,13 @@ static int vc4_hdmi_bind(struct device * * needs to be a bit higher than the pixel clock rate * (generally 148.5Mhz). */ @@ -566,7 +566,7 @@ Signed-off-by: Maxime Ripard if (ret) { DRM_ERROR("Failed to turn on HDMI state machine clock: %d\n", ret); -@@ -1304,18 +1305,18 @@ static int vc4_hdmi_bind(struct device * +@@ -1305,18 +1306,18 @@ static int vc4_hdmi_bind(struct device * if (of_find_property(dev->of_node, "hpd-gpios", &value)) { enum of_gpio_flags hpd_gpio_flags; @@ -590,7 +590,7 @@ Signed-off-by: Maxime Ripard /* HDMI core must be enabled. */ if (!(HD_READ(VC4_HD_M_CTL) & VC4_HD_M_ENABLE)) { -@@ -1331,21 +1332,21 @@ static int vc4_hdmi_bind(struct device * +@@ -1332,21 +1333,21 @@ static int vc4_hdmi_bind(struct device * DRM_MODE_ENCODER_TMDS, NULL); drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs); @@ -617,7 +617,7 @@ Signed-off-by: Maxime Ripard HDMI_WRITE(VC4_HDMI_CPU_MASK_SET, 0xffffffff); value = HDMI_READ(VC4_HDMI_CEC_CNTRL_1); -@@ -1364,32 +1365,32 @@ static int vc4_hdmi_bind(struct device * +@@ -1365,32 +1366,32 @@ static int vc4_hdmi_bind(struct device * "vc4 hdmi cec", vc4); if (ret) goto err_delete_cec_adap; @@ -657,7 +657,7 @@ Signed-off-by: Maxime Ripard return ret; } -@@ -1399,16 +1400,16 @@ static void vc4_hdmi_unbind(struct devic +@@ -1400,16 +1401,16 @@ static void vc4_hdmi_unbind(struct devic { struct drm_device *drm = dev_get_drvdata(master); struct vc4_dev *vc4 = drm->dev_private; diff --git a/target/linux/bcm27xx/patches-5.4/950-0574-drm-vc4-hdmi-Move-accessors-to-vc4_hdmi.patch b/target/linux/bcm27xx/patches-5.4/950-0574-drm-vc4-hdmi-Move-accessors-to-vc4_hdmi.patch index 53296ecb4b..1e50c0c579 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0574-drm-vc4-hdmi-Move-accessors-to-vc4_hdmi.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0574-drm-vc4-hdmi-Move-accessors-to-vc4_hdmi.patch @@ -100,7 +100,7 @@ Signed-off-by: Maxime Ripard switch (cmd) { case SNDRV_PCM_TRIGGER_START: -@@ -1093,7 +1083,8 @@ static irqreturn_t vc4_cec_irq_handler_t +@@ -1094,7 +1084,8 @@ static irqreturn_t vc4_cec_irq_handler_t static void vc4_cec_read_msg(struct vc4_dev *vc4, u32 cntrl1) { @@ -110,7 +110,7 @@ Signed-off-by: Maxime Ripard unsigned int i; msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> -@@ -1139,6 +1130,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1140,6 +1131,7 @@ static irqreturn_t vc4_cec_irq_handler(i static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) { struct vc4_dev *vc4 = cec_get_drvdata(adap); @@ -118,7 +118,7 @@ Signed-off-by: Maxime Ripard /* clock period in microseconds */ const u32 usecs = 1000000 / CEC_CLOCK_FREQ; u32 val = HDMI_READ(VC4_HDMI_CEC_CNTRL_5); -@@ -1182,6 +1174,7 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1183,6 +1175,7 @@ static int vc4_hdmi_cec_adap_enable(stru static int vc4_hdmi_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) { struct vc4_dev *vc4 = cec_get_drvdata(adap); @@ -126,7 +126,7 @@ Signed-off-by: Maxime Ripard HDMI_WRITE(VC4_HDMI_CEC_CNTRL_1, (HDMI_READ(VC4_HDMI_CEC_CNTRL_1) & ~VC4_HDMI_CEC_ADDR_MASK) | -@@ -1193,6 +1186,7 @@ static int vc4_hdmi_cec_adap_transmit(st +@@ -1194,6 +1187,7 @@ static int vc4_hdmi_cec_adap_transmit(st u32 signal_free_time, struct cec_msg *msg) { struct vc4_dev *vc4 = cec_get_drvdata(adap); diff --git a/target/linux/bcm27xx/patches-5.4/950-0577-drm-vc4-hdmi-Pass-vc4_hdmi-to-CEC-code.patch b/target/linux/bcm27xx/patches-5.4/950-0577-drm-vc4-hdmi-Pass-vc4_hdmi-to-CEC-code.patch index b0abafc699..092efc17f5 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0577-drm-vc4-hdmi-Pass-vc4_hdmi-to-CEC-code.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0577-drm-vc4-hdmi-Pass-vc4_hdmi-to-CEC-code.patch @@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1043,8 +1043,7 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1044,8 +1044,7 @@ static int vc4_hdmi_audio_init(struct vc #ifdef CONFIG_DRM_VC4_HDMI_CEC static irqreturn_t vc4_cec_irq_handler_thread(int irq, void *priv) { @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard if (vc4_hdmi->cec_irq_was_rx) { if (vc4_hdmi->cec_rx_msg.len) -@@ -1064,9 +1063,8 @@ static irqreturn_t vc4_cec_irq_handler_t +@@ -1065,9 +1064,8 @@ static irqreturn_t vc4_cec_irq_handler_t return IRQ_HANDLED; } @@ -38,7 +38,7 @@ Signed-off-by: Maxime Ripard struct cec_msg *msg = &vc4_hdmi->cec_rx_msg; unsigned int i; -@@ -1084,8 +1082,7 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1085,8 +1083,7 @@ static void vc4_cec_read_msg(struct vc4_ static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) { @@ -48,7 +48,7 @@ Signed-off-by: Maxime Ripard u32 stat = HDMI_READ(VC4_HDMI_CPU_STATUS); u32 cntrl1, cntrl5; -@@ -1096,7 +1093,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1097,7 +1094,7 @@ static irqreturn_t vc4_cec_irq_handler(i cntrl5 = HDMI_READ(VC4_HDMI_CEC_CNTRL_5); vc4_hdmi->cec_irq_was_rx = cntrl5 & VC4_HDMI_CEC_RX_CEC_INT; if (vc4_hdmi->cec_irq_was_rx) { @@ -57,7 +57,7 @@ Signed-off-by: Maxime Ripard cntrl1 |= VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; HDMI_WRITE(VC4_HDMI_CEC_CNTRL_1, cntrl1); cntrl1 &= ~VC4_HDMI_CEC_CLEAR_RECEIVE_OFF; -@@ -1112,8 +1109,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1113,8 +1110,7 @@ static irqreturn_t vc4_cec_irq_handler(i static int vc4_hdmi_cec_adap_enable(struct cec_adapter *adap, bool enable) { @@ -67,7 +67,7 @@ Signed-off-by: Maxime Ripard /* clock period in microseconds */ const u32 usecs = 1000000 / CEC_CLOCK_FREQ; u32 val = HDMI_READ(VC4_HDMI_CEC_CNTRL_5); -@@ -1156,8 +1152,7 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1157,8 +1153,7 @@ static int vc4_hdmi_cec_adap_enable(stru static int vc4_hdmi_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) { @@ -77,7 +77,7 @@ Signed-off-by: Maxime Ripard HDMI_WRITE(VC4_HDMI_CEC_CNTRL_1, (HDMI_READ(VC4_HDMI_CEC_CNTRL_1) & ~VC4_HDMI_CEC_ADDR_MASK) | -@@ -1168,8 +1163,7 @@ static int vc4_hdmi_cec_adap_log_addr(st +@@ -1169,8 +1164,7 @@ static int vc4_hdmi_cec_adap_log_addr(st static int vc4_hdmi_cec_adap_transmit(struct cec_adapter *adap, u8 attempts, u32 signal_free_time, struct cec_msg *msg) { @@ -87,7 +87,7 @@ Signed-off-by: Maxime Ripard u32 val; unsigned int i; -@@ -1315,7 +1309,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1316,7 +1310,7 @@ static int vc4_hdmi_bind(struct device * #ifdef CONFIG_DRM_VC4_HDMI_CEC vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, @@ -96,7 +96,7 @@ Signed-off-by: Maxime Ripard CEC_CAP_DEFAULTS | CEC_CAP_CONNECTOR_INFO, 1); ret = PTR_ERR_OR_ZERO(vc4_hdmi->cec_adap); -@@ -1339,7 +1333,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1340,7 +1334,7 @@ static int vc4_hdmi_bind(struct device * ret = devm_request_threaded_irq(dev, platform_get_irq(pdev, 0), vc4_cec_irq_handler, vc4_cec_irq_handler_thread, 0, diff --git a/target/linux/bcm27xx/patches-5.4/950-0578-drm-vc4-hdmi-Remove-vc4_dev-hdmi-pointer.patch b/target/linux/bcm27xx/patches-5.4/950-0578-drm-vc4-hdmi-Remove-vc4_dev-hdmi-pointer.patch index ff9fa1a158..24e4229c0e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0578-drm-vc4-hdmi-Remove-vc4_dev-hdmi-pointer.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0578-drm-vc4-hdmi-Remove-vc4_dev-hdmi-pointer.patch @@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard struct vc4_dpi *dpi; --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1199,7 +1199,6 @@ static int vc4_hdmi_bind(struct device * +@@ -1200,7 +1200,6 @@ static int vc4_hdmi_bind(struct device * #endif struct platform_device *pdev = to_platform_device(dev); struct drm_device *drm = dev_get_drvdata(master); @@ -31,7 +31,7 @@ Signed-off-by: Maxime Ripard struct vc4_hdmi *vc4_hdmi; struct drm_encoder *encoder; struct device_node *ddc_node; -@@ -1287,8 +1286,6 @@ static int vc4_hdmi_bind(struct device * +@@ -1288,8 +1287,6 @@ static int vc4_hdmi_bind(struct device * vc4_hdmi->hpd_active_low = hpd_gpio_flags & OF_GPIO_ACTIVE_LOW; } @@ -40,7 +40,7 @@ Signed-off-by: Maxime Ripard /* HDMI core must be enabled. */ if (!(HD_READ(VC4_HD_M_CTL) & VC4_HD_M_ENABLE)) { HD_WRITE(VC4_HD_M_CTL, VC4_HD_M_SW_RST); -@@ -1369,9 +1366,12 @@ err_put_i2c: +@@ -1370,9 +1367,12 @@ err_put_i2c: static void vc4_hdmi_unbind(struct device *dev, struct device *master, void *data) { @@ -56,7 +56,7 @@ Signed-off-by: Maxime Ripard cec_unregister_adapter(vc4_hdmi->cec_adap); vc4_hdmi_connector_destroy(&vc4_hdmi->connector.base); -@@ -1381,8 +1381,6 @@ static void vc4_hdmi_unbind(struct devic +@@ -1382,8 +1382,6 @@ static void vc4_hdmi_unbind(struct devic pm_runtime_disable(dev); put_device(&vc4_hdmi->ddc->dev); diff --git a/target/linux/bcm27xx/patches-5.4/950-0579-drm-vc4-hdmi-Remove-vc4_hdmi_connector.patch b/target/linux/bcm27xx/patches-5.4/950-0579-drm-vc4-hdmi-Remove-vc4_hdmi_connector.patch index 4ef3d69b2c..15d15c6afe 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0579-drm-vc4-hdmi-Remove-vc4_hdmi_connector.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0579-drm-vc4-hdmi-Remove-vc4_hdmi_connector.patch @@ -66,7 +66,7 @@ Signed-off-by: Maxime Ripard memcpy(ucontrol->value.bytes.data, connector->eld, sizeof(connector->eld)); -@@ -1313,7 +1310,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1314,7 +1311,7 @@ static int vc4_hdmi_bind(struct device * if (ret < 0) goto err_destroy_conn; @@ -75,7 +75,7 @@ Signed-off-by: Maxime Ripard cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); HDMI_WRITE(VC4_HDMI_CPU_MASK_SET, 0xffffffff); -@@ -1350,7 +1347,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1351,7 +1348,7 @@ static int vc4_hdmi_bind(struct device * err_delete_cec_adap: cec_delete_adapter(vc4_hdmi->cec_adap); err_destroy_conn: @@ -84,7 +84,7 @@ Signed-off-by: Maxime Ripard #endif err_destroy_encoder: vc4_hdmi_encoder_destroy(encoder); -@@ -1374,7 +1371,7 @@ static void vc4_hdmi_unbind(struct devic +@@ -1375,7 +1372,7 @@ static void vc4_hdmi_unbind(struct devic struct vc4_hdmi *vc4_hdmi = snd_soc_card_get_drvdata(card); cec_unregister_adapter(vc4_hdmi->cec_adap); diff --git a/target/linux/bcm27xx/patches-5.4/950-0580-drm-vc4-hdmi-Introduce-resource-init-and-variant.patch b/target/linux/bcm27xx/patches-5.4/950-0580-drm-vc4-hdmi-Introduce-resource-init-and-variant.patch index 82fae40246..c3a4a76bad 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0580-drm-vc4-hdmi-Introduce-resource-init-and-variant.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0580-drm-vc4-hdmi-Introduce-resource-init-and-variant.patch @@ -18,7 +18,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1189,38 +1189,23 @@ static const struct cec_adap_ops vc4_hdm +@@ -1190,38 +1190,23 @@ static const struct cec_adap_ops vc4_hdm }; #endif @@ -64,7 +64,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi->hd_regset.base = vc4_hdmi->hd_regs; vc4_hdmi->hd_regset.regs = hd_regs; vc4_hdmi->hd_regset.nregs = ARRAY_SIZE(hd_regs); -@@ -1230,12 +1215,44 @@ static int vc4_hdmi_bind(struct device * +@@ -1231,12 +1216,44 @@ static int vc4_hdmi_bind(struct device * DRM_ERROR("Failed to get pixel clock\n"); return PTR_ERR(vc4_hdmi->pixel_clock); } @@ -109,7 +109,7 @@ Signed-off-by: Maxime Ripard ddc_node = of_parse_phandle(dev->of_node, "ddc", 0); if (!ddc_node) { DRM_ERROR("Failed to find ddc node in device tree\n"); -@@ -1396,8 +1413,12 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1397,8 +1414,12 @@ static int vc4_hdmi_dev_remove(struct pl return 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0581-drm-vc4-hdmi-Implement-a-register-layout-abstraction.patch b/target/linux/bcm27xx/patches-5.4/950-0581-drm-vc4-hdmi-Implement-a-register-layout-abstraction.patch index eaeca92bfd..dbfb08eebb 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0581-drm-vc4-hdmi-Implement-a-register-layout-abstraction.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0581-drm-vc4-hdmi-Implement-a-register-layout-abstraction.patch @@ -525,7 +525,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; vc4_hdmi->audio.dma_data.maxburst = 2; -@@ -1068,7 +1031,7 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1069,7 +1032,7 @@ static void vc4_cec_read_msg(struct vc4_ msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> VC4_HDMI_CEC_REC_WRD_CNT_SHIFT); for (i = 0; i < msg->len; i += 4) { @@ -534,7 +534,7 @@ Signed-off-by: Maxime Ripard msg->msg[i] = val & 0xff; msg->msg[i + 1] = (val >> 8) & 0xff; -@@ -1080,26 +1043,26 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1081,26 +1044,26 @@ static void vc4_cec_read_msg(struct vc4_ static irqreturn_t vc4_cec_irq_handler(int irq, void *priv) { struct vc4_hdmi *vc4_hdmi = priv; @@ -567,7 +567,7 @@ Signed-off-by: Maxime Ripard return IRQ_WAKE_THREAD; } -@@ -1109,7 +1072,7 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1110,7 +1073,7 @@ static int vc4_hdmi_cec_adap_enable(stru struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); /* clock period in microseconds */ const u32 usecs = 1000000 / CEC_CLOCK_FREQ; @@ -576,7 +576,7 @@ Signed-off-by: Maxime Ripard val &= ~(VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET | VC4_HDMI_CEC_CNT_TO_4700_US_MASK | -@@ -1118,30 +1081,30 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1119,30 +1082,30 @@ static int vc4_hdmi_cec_adap_enable(stru ((4500 / usecs) << VC4_HDMI_CEC_CNT_TO_4500_US_SHIFT); if (enable) { @@ -615,7 +615,7 @@ Signed-off-by: Maxime Ripard VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); } return 0; -@@ -1151,8 +1114,8 @@ static int vc4_hdmi_cec_adap_log_addr(st +@@ -1152,8 +1115,8 @@ static int vc4_hdmi_cec_adap_log_addr(st { struct vc4_hdmi *vc4_hdmi = cec_get_drvdata(adap); @@ -626,7 +626,7 @@ Signed-off-by: Maxime Ripard (log_addr & 0xf) << VC4_HDMI_CEC_ADDR_SHIFT); return 0; } -@@ -1165,20 +1128,20 @@ static int vc4_hdmi_cec_adap_transmit(st +@@ -1166,20 +1129,20 @@ static int vc4_hdmi_cec_adap_transmit(st unsigned int i; for (i = 0; i < msg->len; i += 4) @@ -651,7 +651,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1189,26 +1152,63 @@ static const struct cec_adap_ops vc4_hdm +@@ -1190,26 +1153,63 @@ static const struct cec_adap_ops vc4_hdm }; #endif @@ -721,7 +721,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi->pixel_clock = devm_clk_get(dev, "pixel"); if (IS_ERR(vc4_hdmi->pixel_clock)) { -@@ -1301,12 +1301,12 @@ static int vc4_hdmi_bind(struct device * +@@ -1302,12 +1302,12 @@ static int vc4_hdmi_bind(struct device * } /* HDMI core must be enabled. */ @@ -738,7 +738,7 @@ Signed-off-by: Maxime Ripard } pm_runtime_enable(dev); -@@ -1330,8 +1330,8 @@ static int vc4_hdmi_bind(struct device * +@@ -1331,8 +1331,8 @@ static int vc4_hdmi_bind(struct device * cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); @@ -749,7 +749,7 @@ Signed-off-by: Maxime Ripard value &= ~VC4_HDMI_CEC_DIV_CLK_CNT_MASK; /* * Set the logical address to Unregistered and set the clock -@@ -1340,7 +1340,7 @@ static int vc4_hdmi_bind(struct device * +@@ -1341,7 +1341,7 @@ static int vc4_hdmi_bind(struct device * */ value |= VC4_HDMI_CEC_ADDR_MASK | (4091 << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT); @@ -758,7 +758,7 @@ Signed-off-by: Maxime Ripard ret = devm_request_threaded_irq(dev, platform_get_irq(pdev, 0), vc4_cec_irq_handler, vc4_cec_irq_handler_thread, 0, -@@ -1387,6 +1387,9 @@ static void vc4_hdmi_unbind(struct devic +@@ -1388,6 +1388,9 @@ static void vc4_hdmi_unbind(struct devic struct snd_soc_card *card = dev_get_drvdata(dev); struct vc4_hdmi *vc4_hdmi = snd_soc_card_get_drvdata(card); @@ -768,7 +768,7 @@ Signed-off-by: Maxime Ripard cec_unregister_adapter(vc4_hdmi->cec_adap); vc4_hdmi_connector_destroy(&vc4_hdmi->connector); vc4_hdmi_encoder_destroy(&vc4_hdmi->encoder.base.base); -@@ -1414,6 +1417,9 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1415,6 +1418,9 @@ static int vc4_hdmi_dev_remove(struct pl } static const struct vc4_hdmi_variant bcm2835_variant = { diff --git a/target/linux/bcm27xx/patches-5.4/950-0582-drm-vc4-hdmi-Add-reset-callback.patch b/target/linux/bcm27xx/patches-5.4/950-0582-drm-vc4-hdmi-Add-reset-callback.patch index 53dd3e4405..18c11aba45 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0582-drm-vc4-hdmi-Add-reset-callback.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0582-drm-vc4-hdmi-Add-reset-callback.patch @@ -44,7 +44,7 @@ Signed-off-by: Maxime Ripard /* PHY should be in reset, like * vc4_hdmi_encoder_disable() does. -@@ -1421,6 +1427,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1422,6 +1428,7 @@ static const struct vc4_hdmi_variant bcm .num_registers = ARRAY_SIZE(vc4_hdmi_fields), .init_resources = vc4_hdmi_init_resources, diff --git a/target/linux/bcm27xx/patches-5.4/950-0583-drm-vc4-hdmi-Add-PHY-init-and-disable-function.patch b/target/linux/bcm27xx/patches-5.4/950-0583-drm-vc4-hdmi-Add-PHY-init-and-disable-function.patch index 6db26d40aa..ce295f3fce 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0583-drm-vc4-hdmi-Add-PHY-init-and-disable-function.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0583-drm-vc4-hdmi-Add-PHY-init-and-disable-function.patch @@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard if (debug_dump_regs) { struct drm_printer p = drm_info_printer(&vc4_hdmi->pdev->dev); -@@ -1428,6 +1426,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1429,6 +1427,8 @@ static const struct vc4_hdmi_variant bcm .init_resources = vc4_hdmi_init_resources, .reset = vc4_hdmi_reset, diff --git a/target/linux/bcm27xx/patches-5.4/950-0584-drm-vc4-hdmi-Add-PHY-RNG-enable-disable-function.patch b/target/linux/bcm27xx/patches-5.4/950-0584-drm-vc4-hdmi-Add-PHY-RNG-enable-disable-function.patch index cea17a621e..0fb6a63bcc 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0584-drm-vc4-hdmi-Add-PHY-RNG-enable-disable-function.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0584-drm-vc4-hdmi-Add-PHY-RNG-enable-disable-function.patch @@ -42,7 +42,7 @@ Signed-off-by: Maxime Ripard break; default: break; -@@ -1428,6 +1429,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1429,6 +1430,8 @@ static const struct vc4_hdmi_variant bcm .reset = vc4_hdmi_reset, .phy_init = vc4_hdmi_phy_init, .phy_disable = vc4_hdmi_phy_disable, diff --git a/target/linux/bcm27xx/patches-5.4/950-0585-drm-vc4-hdmi-Add-a-CSC-setup-callback.patch b/target/linux/bcm27xx/patches-5.4/950-0585-drm-vc4-hdmi-Add-a-CSC-setup-callback.patch index c9650bca08..0106470d93 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0585-drm-vc4-hdmi-Add-a-CSC-setup-callback.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0585-drm-vc4-hdmi-Add-a-CSC-setup-callback.patch @@ -112,7 +112,7 @@ Signed-off-by: Maxime Ripard HDMI_WRITE(HDMI_FIFO_CTL, VC4_HDMI_FIFO_CTL_MASTER_SLAVE_N); if (debug_dump_regs) { -@@ -1426,6 +1438,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1427,6 +1439,7 @@ static const struct vc4_hdmi_variant bcm .num_registers = ARRAY_SIZE(vc4_hdmi_fields), .init_resources = vc4_hdmi_init_resources, diff --git a/target/linux/bcm27xx/patches-5.4/950-0586-drm-vc4-hdmi-Add-a-set_timings-callback.patch b/target/linux/bcm27xx/patches-5.4/950-0586-drm-vc4-hdmi-Add-a-set_timings-callback.patch index a39a8ac109..064925c61a 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0586-drm-vc4-hdmi-Add-a-set_timings-callback.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0586-drm-vc4-hdmi-Add-a-set_timings-callback.patch @@ -110,7 +110,7 @@ Signed-off-by: Maxime Ripard if (vc4_encoder->hdmi_monitor && drm_default_rgb_quant_range(mode) == HDMI_QUANTIZATION_RANGE_LIMITED) { -@@ -1440,6 +1448,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1441,6 +1449,7 @@ static const struct vc4_hdmi_variant bcm .init_resources = vc4_hdmi_init_resources, .csc_setup = vc4_hdmi_csc_setup, .reset = vc4_hdmi_reset, diff --git a/target/linux/bcm27xx/patches-5.4/950-0587-drm-vc4-hdmi-Add-HDMI-ID.patch b/target/linux/bcm27xx/patches-5.4/950-0587-drm-vc4-hdmi-Add-HDMI-ID.patch index b6de732379..b5d9c7b340 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0587-drm-vc4-hdmi-Add-HDMI-ID.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0587-drm-vc4-hdmi-Add-HDMI-ID.patch @@ -17,7 +17,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1267,11 +1267,10 @@ static int vc4_hdmi_bind(struct device * +@@ -1268,11 +1268,10 @@ static int vc4_hdmi_bind(struct device * vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL); if (!vc4_hdmi) return -ENOMEM; diff --git a/target/linux/bcm27xx/patches-5.4/950-0588-drm-vc4-hdmi-Deal-with-multiple-debugfs-files.patch b/target/linux/bcm27xx/patches-5.4/950-0588-drm-vc4-hdmi-Deal-with-multiple-debugfs-files.patch index 746eff91d5..e25b18a21f 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0588-drm-vc4-hdmi-Deal-with-multiple-debugfs-files.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0588-drm-vc4-hdmi-Deal-with-multiple-debugfs-files.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1380,7 +1380,10 @@ static int vc4_hdmi_bind(struct device * +@@ -1381,7 +1381,10 @@ static int vc4_hdmi_bind(struct device * if (ret) goto err_destroy_encoder; diff --git a/target/linux/bcm27xx/patches-5.4/950-0589-drm-vc4-hdmi-Add-an-audio-support-flag.patch b/target/linux/bcm27xx/patches-5.4/950-0589-drm-vc4-hdmi-Add-an-audio-support-flag.patch index cc6cd86887..9c8240714a 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0589-drm-vc4-hdmi-Add-an-audio-support-flag.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0589-drm-vc4-hdmi-Add-an-audio-support-flag.patch @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard if (!of_find_property(dev->of_node, "dmas", &len) || len == 0) { dev_warn(dev, -@@ -1444,6 +1447,7 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1445,6 +1448,7 @@ static int vc4_hdmi_dev_remove(struct pl } static const struct vc4_hdmi_variant bcm2835_variant = { diff --git a/target/linux/bcm27xx/patches-5.4/950-0590-drm-vc4-hdmi-Move-CEC-init-to-its-own-function.patch b/target/linux/bcm27xx/patches-5.4/950-0590-drm-vc4-hdmi-Move-CEC-init-to-its-own-function.patch index 533eb89e7a..a3efadd2ad 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0590-drm-vc4-hdmi-Move-CEC-init-to-its-own-function.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0590-drm-vc4-hdmi-Move-CEC-init-to-its-own-function.patch @@ -14,7 +14,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1178,6 +1178,67 @@ static const struct cec_adap_ops vc4_hdm +@@ -1179,6 +1179,67 @@ static const struct cec_adap_ops vc4_hdm .adap_log_addr = vc4_hdmi_cec_adap_log_addr, .adap_transmit = vc4_hdmi_cec_adap_transmit, }; @@ -82,7 +82,7 @@ Signed-off-by: Maxime Ripard #endif static int vc4_hdmi_build_regset(struct vc4_hdmi *vc4_hdmi, -@@ -1255,9 +1316,6 @@ static int vc4_hdmi_init_resources(struc +@@ -1256,9 +1317,6 @@ static int vc4_hdmi_init_resources(struc static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) { @@ -92,7 +92,7 @@ Signed-off-by: Maxime Ripard struct platform_device *pdev = to_platform_device(dev); struct drm_device *drm = dev_get_drvdata(master); const struct vc4_hdmi_variant *variant; -@@ -1345,43 +1403,13 @@ static int vc4_hdmi_bind(struct device * +@@ -1346,43 +1404,13 @@ static int vc4_hdmi_bind(struct device * if (ret) goto err_destroy_encoder; @@ -139,7 +139,7 @@ Signed-off-by: Maxime Ripard vc4_debugfs_add_file(drm, variant->id ? "hdmi1_regs" : "hdmi_regs", -@@ -1390,12 +1418,10 @@ static int vc4_hdmi_bind(struct device * +@@ -1391,12 +1419,10 @@ static int vc4_hdmi_bind(struct device * return 0; @@ -154,7 +154,7 @@ Signed-off-by: Maxime Ripard err_destroy_encoder: vc4_hdmi_encoder_destroy(encoder); err_unprepare_hsm: -@@ -1420,7 +1446,7 @@ static void vc4_hdmi_unbind(struct devic +@@ -1421,7 +1447,7 @@ static void vc4_hdmi_unbind(struct devic kfree(vc4_hdmi->hdmi_regset.regs); kfree(vc4_hdmi->hd_regset.regs); diff --git a/target/linux/bcm27xx/patches-5.4/950-0591-drm-vc4-hdmi-Add-CEC-support-flag.patch b/target/linux/bcm27xx/patches-5.4/950-0591-drm-vc4-hdmi-Add-CEC-support-flag.patch index 33ecf44a27..396e8a5523 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0591-drm-vc4-hdmi-Add-CEC-support-flag.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0591-drm-vc4-hdmi-Add-CEC-support-flag.patch @@ -15,7 +15,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1186,6 +1186,9 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1187,6 +1187,9 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 value; int ret; @@ -25,7 +25,7 @@ Signed-off-by: Maxime Ripard vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, "vc4", CEC_CAP_DEFAULTS | -@@ -1474,6 +1477,7 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1475,6 +1478,7 @@ static int vc4_hdmi_dev_remove(struct pl static const struct vc4_hdmi_variant bcm2835_variant = { .audio_available = true, diff --git a/target/linux/bcm27xx/patches-5.4/950-0594-drm-vc4-hdmi-Adjust-HSM-clock-rate-depending-on-pixe.patch b/target/linux/bcm27xx/patches-5.4/950-0594-drm-vc4-hdmi-Adjust-HSM-clock-rate-depending-on-pixe.patch index 4dba81b035..5b836f8bf8 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0594-drm-vc4-hdmi-Adjust-HSM-clock-rate-depending-on-pixe.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0594-drm-vc4-hdmi-Adjust-HSM-clock-rate-depending-on-pixe.patch @@ -99,7 +99,7 @@ Signed-off-by: Maxime Ripard return MODE_CLOCK_HIGH; return MODE_OK; -@@ -1353,23 +1373,6 @@ static int vc4_hdmi_bind(struct device * +@@ -1354,23 +1374,6 @@ static int vc4_hdmi_bind(struct device * return -EPROBE_DEFER; } @@ -123,7 +123,7 @@ Signed-off-by: Maxime Ripard /* Only use the GPIO HPD pin if present in the DT, otherwise * we'll use the HDMI core's register. */ -@@ -1427,9 +1430,7 @@ err_destroy_conn: +@@ -1428,9 +1431,7 @@ err_destroy_conn: err_destroy_encoder: vc4_hdmi_encoder_destroy(encoder); err_unprepare_hsm: @@ -133,7 +133,7 @@ Signed-off-by: Maxime Ripard put_device(&vc4_hdmi->ddc->dev); return ret; -@@ -1452,7 +1453,6 @@ static void vc4_hdmi_unbind(struct devic +@@ -1453,7 +1454,6 @@ static void vc4_hdmi_unbind(struct devic vc4_hdmi_connector_destroy(&vc4_hdmi->connector); vc4_hdmi_encoder_destroy(&vc4_hdmi->encoder.base.base); @@ -141,7 +141,7 @@ Signed-off-by: Maxime Ripard pm_runtime_disable(dev); put_device(&vc4_hdmi->ddc->dev); -@@ -1475,6 +1475,7 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1476,6 +1476,7 @@ static int vc4_hdmi_dev_remove(struct pl } static const struct vc4_hdmi_variant bcm2835_variant = { diff --git a/target/linux/bcm27xx/patches-5.4/950-0595-drm-vc4-hdmi-Support-the-BCM2711-HDMI-controllers.patch b/target/linux/bcm27xx/patches-5.4/950-0595-drm-vc4-hdmi-Support-the-BCM2711-HDMI-controllers.patch index d511f1e212..8a2772299a 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0595-drm-vc4-hdmi-Support-the-BCM2711-HDMI-controllers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0595-drm-vc4-hdmi-Support-the-BCM2711-HDMI-controllers.patch @@ -175,7 +175,7 @@ Signed-off-by: Maxime Ripard static void vc4_hdmi_encoder_enable(struct drm_encoder *encoder) { struct drm_display_mode *mode = &encoder->crtc->state->adjusted_mode; -@@ -1336,6 +1460,92 @@ static int vc4_hdmi_init_resources(struc +@@ -1337,6 +1461,92 @@ static int vc4_hdmi_init_resources(struc return 0; } @@ -268,7 +268,7 @@ Signed-off-by: Maxime Ripard static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) { struct platform_device *pdev = to_platform_device(dev); -@@ -1491,8 +1701,52 @@ static const struct vc4_hdmi_variant bcm +@@ -1492,8 +1702,52 @@ static const struct vc4_hdmi_variant bcm .phy_rng_disable = vc4_hdmi_phy_rng_disable, }; diff --git a/target/linux/bcm27xx/patches-5.4/950-0610-drm-vc4-Add-audio-initialisation-for-Pi4.patch b/target/linux/bcm27xx/patches-5.4/950-0610-drm-vc4-Add-audio-initialisation-for-Pi4.patch index 6ec6850866..4388099671 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0610-drm-vc4-Add-audio-initialisation-for-Pi4.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0610-drm-vc4-Add-audio-initialisation-for-Pi4.patch @@ -83,7 +83,7 @@ Signed-off-by: Dave Stevenson HDMI_WRITE(HDMI_MAI_CHANNEL_MAP, channel_map); HDMI_WRITE(HDMI_AUDIO_PACKET_CONFIG, audio_packet_config); vc4_hdmi_set_n_cts(vc4_hdmi); -@@ -1715,6 +1744,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1716,6 +1745,8 @@ static const struct vc4_hdmi_variant bcm .phy_disable = vc4_hdmi_phy_disable, .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, @@ -92,7 +92,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { -@@ -1736,6 +1767,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1737,6 +1768,8 @@ static const struct vc4_hdmi_variant bcm .phy_init = vc5_hdmi_phy_init, .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, @@ -101,7 +101,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { -@@ -1757,6 +1790,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1758,6 +1791,8 @@ static const struct vc4_hdmi_variant bcm .phy_init = vc5_hdmi_phy_init, .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, diff --git a/target/linux/bcm27xx/patches-5.4/950-0611-drm-vc4-Enable-audio-on-Pi4.patch b/target/linux/bcm27xx/patches-5.4/950-0611-drm-vc4-Enable-audio-on-Pi4.patch index 78340ced70..b07a815df4 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0611-drm-vc4-Enable-audio-on-Pi4.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0611-drm-vc4-Enable-audio-on-Pi4.patch @@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1750,6 +1750,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1751,6 +1751,7 @@ static const struct vc4_hdmi_variant bcm static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { .id = 0, @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson .max_pixel_clock = 297000000, .registers = vc5_hdmi_hdmi0_fields, .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), -@@ -1773,6 +1774,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1774,6 +1775,7 @@ static const struct vc4_hdmi_variant bcm static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { .id = 1, diff --git a/target/linux/bcm27xx/patches-5.4/950-0612-drm-vc4-Alter-the-HDMI-state-machine-clock-calc-to-a.patch b/target/linux/bcm27xx/patches-5.4/950-0612-drm-vc4-Alter-the-HDMI-state-machine-clock-calc-to-a.patch index f576b8624e..dc2d1a2a04 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0612-drm-vc4-Alter-the-HDMI-state-machine-clock-calc-to-a.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0612-drm-vc4-Alter-the-HDMI-state-machine-clock-calc-to-a.patch @@ -35,7 +35,7 @@ Signed-off-by: Dave Stevenson ret = clk_set_rate(vc4_hdmi->hsm_clock, hsm_rate); if (ret) { DRM_ERROR("Failed to set HSM clock rate: %d\n", ret); -@@ -1730,7 +1731,7 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1731,7 +1732,7 @@ static int vc4_hdmi_dev_remove(struct pl } static const struct vc4_hdmi_variant bcm2835_variant = { diff --git a/target/linux/bcm27xx/patches-5.4/950-0617-drm-vc4-hdmi-Give-the-HDMI-audio-instances-different.patch b/target/linux/bcm27xx/patches-5.4/950-0617-drm-vc4-hdmi-Give-the-HDMI-audio-instances-different.patch index a7b5b5fad3..aff182dbec 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0617-drm-vc4-hdmi-Give-the-HDMI-audio-instances-different.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0617-drm-vc4-hdmi-Give-the-HDMI-audio-instances-different.patch @@ -22,5 +22,5 @@ Signed-off-by: Dave Stevenson - card->name = "vc4-hdmi"; + card->name = vc4_hdmi->variant->id ? "vc4-hdmi1" : "vc4-hdmi"; card->dev = dev; + card->owner = THIS_MODULE; - /* diff --git a/target/linux/bcm27xx/patches-5.4/950-0641-drm-vc4-hdmi-Silence-pixel-clock-error-on-EPROBE_DEF.patch b/target/linux/bcm27xx/patches-5.4/950-0641-drm-vc4-hdmi-Silence-pixel-clock-error-on-EPROBE_DEF.patch index 1b1cb143ae..0580fc8b93 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0641-drm-vc4-hdmi-Silence-pixel-clock-error-on-EPROBE_DEF.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0641-drm-vc4-hdmi-Silence-pixel-clock-error-on-EPROBE_DEF.patch @@ -14,7 +14,7 @@ Signed-off-by: James Hilliard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1493,8 +1493,10 @@ static int vc4_hdmi_init_resources(struc +@@ -1494,8 +1494,10 @@ static int vc4_hdmi_init_resources(struc vc4_hdmi->pixel_clock = devm_clk_get(dev, "pixel"); if (IS_ERR(vc4_hdmi->pixel_clock)) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0682-vc4_hdmi-BCM2835-requires-a-fixed-hsm-clock-for-CEC-.patch b/target/linux/bcm27xx/patches-5.4/950-0682-vc4_hdmi-BCM2835-requires-a-fixed-hsm-clock-for-CEC-.patch index 0ea80ae6c8..e5ffc3e96f 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0682-vc4_hdmi-BCM2835-requires-a-fixed-hsm-clock-for-CEC-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0682-vc4_hdmi-BCM2835-requires-a-fixed-hsm-clock-for-CEC-.patch @@ -55,7 +55,7 @@ Signed-off-by: popcornmix static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask) { int i; -@@ -1748,6 +1765,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1749,6 +1766,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, .get_hsm_clock = vc4_hdmi_get_hsm_clock, @@ -63,7 +63,7 @@ Signed-off-by: popcornmix .channel_map = vc4_hdmi_channel_map, }; -@@ -1772,6 +1790,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1773,6 +1791,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .get_hsm_clock = vc5_hdmi_get_hsm_clock, @@ -71,7 +71,7 @@ Signed-off-by: popcornmix .channel_map = vc5_hdmi_channel_map, }; -@@ -1796,6 +1815,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1797,6 +1816,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .get_hsm_clock = vc5_hdmi_get_hsm_clock, diff --git a/target/linux/bcm27xx/patches-5.4/950-0710-vc4_hdmi-Fix-register-offset-when-sending-longer-CEC.patch b/target/linux/bcm27xx/patches-5.4/950-0710-vc4_hdmi-Fix-register-offset-when-sending-longer-CEC.patch index d6aa46a4f4..d192565145 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0710-vc4_hdmi-Fix-register-offset-when-sending-longer-CEC.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0710-vc4_hdmi-Fix-register-offset-when-sending-longer-CEC.patch @@ -11,7 +11,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1264,8 +1264,13 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1265,8 +1265,13 @@ static void vc4_cec_read_msg(struct vc4_ msg->len = 1 + ((cntrl1 & VC4_HDMI_CEC_REC_WRD_CNT_MASK) >> VC4_HDMI_CEC_REC_WRD_CNT_SHIFT); @@ -26,7 +26,7 @@ Signed-off-by: Dom Cobley msg->msg[i] = val & 0xff; msg->msg[i + 1] = (val >> 8) & 0xff; -@@ -1361,8 +1366,12 @@ static int vc4_hdmi_cec_adap_transmit(st +@@ -1362,8 +1367,12 @@ static int vc4_hdmi_cec_adap_transmit(st u32 val; unsigned int i; diff --git a/target/linux/bcm27xx/patches-5.4/950-0712-vc4_hdmi_regs-Add-Intr2-register-block.patch b/target/linux/bcm27xx/patches-5.4/950-0712-vc4_hdmi_regs-Add-Intr2-register-block.patch index d750e55abb..e3299acf9d 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0712-vc4_hdmi_regs-Add-Intr2-register-block.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0712-vc4_hdmi_regs-Add-Intr2-register-block.patch @@ -69,7 +69,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1581,6 +1581,14 @@ static int vc5_hdmi_init_resources(struc +@@ -1582,6 +1582,14 @@ static int vc5_hdmi_init_resources(struc if (IS_ERR(vc4_hdmi->dvp_regs)) return PTR_ERR(vc4_hdmi->dvp_regs); diff --git a/target/linux/bcm27xx/patches-5.4/950-0713-vc4_hdmi_regs-Make-interrupt-mask-variant-specific.patch b/target/linux/bcm27xx/patches-5.4/950-0713-vc4_hdmi_regs-Make-interrupt-mask-variant-specific.patch index b92d1dbac9..f2a30c6443 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0713-vc4_hdmi_regs-Make-interrupt-mask-variant-specific.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0713-vc4_hdmi_regs-Make-interrupt-mask-variant-specific.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1285,7 +1285,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1286,7 +1286,7 @@ static irqreturn_t vc4_cec_irq_handler(i u32 stat = HDMI_READ(HDMI_CEC_CPU_STATUS); u32 cntrl1, cntrl5; @@ -21,7 +21,7 @@ Signed-off-by: Dom Cobley return IRQ_NONE; vc4_hdmi->cec_rx_msg.len = 0; cntrl1 = HDMI_READ(HDMI_CEC_CNTRL_1); -@@ -1301,7 +1301,7 @@ static irqreturn_t vc4_cec_irq_handler(i +@@ -1302,7 +1302,7 @@ static irqreturn_t vc4_cec_irq_handler(i cntrl1 &= ~VC4_HDMI_CEC_START_XMIT_BEGIN; } HDMI_WRITE(HDMI_CEC_CNTRL_1, cntrl1); @@ -30,7 +30,7 @@ Signed-off-by: Dom Cobley return IRQ_WAKE_THREAD; } -@@ -1340,9 +1340,9 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1341,9 +1341,9 @@ static int vc4_hdmi_cec_adap_enable(stru ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); @@ -42,7 +42,7 @@ Signed-off-by: Dom Cobley HDMI_WRITE(HDMI_CEC_CNTRL_5, val | VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); } -@@ -1784,6 +1784,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1785,6 +1785,8 @@ static const struct vc4_hdmi_variant bcm .get_hsm_clock = vc4_hdmi_get_hsm_clock, .calc_hsm_clock = vc4_hdmi_calc_hsm_clock, .channel_map = vc4_hdmi_channel_map, @@ -51,7 +51,7 @@ Signed-off-by: Dom Cobley }; static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { -@@ -1809,6 +1811,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1810,6 +1812,8 @@ static const struct vc4_hdmi_variant bcm .get_hsm_clock = vc5_hdmi_get_hsm_clock, .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, .channel_map = vc5_hdmi_channel_map, @@ -60,7 +60,7 @@ Signed-off-by: Dom Cobley }; static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { -@@ -1834,6 +1838,8 @@ static const struct vc4_hdmi_variant bcm +@@ -1835,6 +1839,8 @@ static const struct vc4_hdmi_variant bcm .get_hsm_clock = vc5_hdmi_get_hsm_clock, .calc_hsm_clock = vc5_hdmi_calc_hsm_clock, .channel_map = vc5_hdmi_channel_map, diff --git a/target/linux/bcm27xx/patches-5.4/950-0714-vc4_hdmi-Make-irq-shared.patch b/target/linux/bcm27xx/patches-5.4/950-0714-vc4_hdmi-Make-irq-shared.patch index dc0fec6c7a..423812324b 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0714-vc4_hdmi-Make-irq-shared.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0714-vc4_hdmi-Make-irq-shared.patch @@ -10,7 +10,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1428,7 +1428,8 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1429,7 +1429,8 @@ static int vc4_hdmi_cec_init(struct vc4_ HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), vc4_cec_irq_handler, diff --git a/target/linux/bcm27xx/patches-5.4/950-0715-vc4_hdmi-Adjust-CEC-ref-clock-based-on-its-input-clo.patch b/target/linux/bcm27xx/patches-5.4/950-0715-vc4_hdmi-Adjust-CEC-ref-clock-based-on-its-input-clo.patch index da99772696..f6145e4ff5 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0715-vc4_hdmi-Adjust-CEC-ref-clock-based-on-its-input-clo.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0715-vc4_hdmi-Adjust-CEC-ref-clock-based-on-its-input-clo.patch @@ -32,7 +32,7 @@ Signed-off-by: Dom Cobley } static u32 vc5_hdmi_calc_hsm_clock(struct vc4_hdmi *vc4_hdmi, unsigned long pixel_rate) -@@ -1399,6 +1399,7 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1400,6 +1400,7 @@ static int vc4_hdmi_cec_init(struct vc4_ struct cec_connector_info conn_info; struct platform_device *pdev = vc4_hdmi->pdev; u32 value; @@ -40,7 +40,7 @@ Signed-off-by: Dom Cobley int ret; if (!vc4_hdmi->variant->cec_available) -@@ -1423,8 +1424,9 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1424,8 +1425,9 @@ static int vc4_hdmi_cec_init(struct vc4_ * divider: the hsm_clock rate and this divider setting will * give a 40 kHz CEC clock. */ @@ -51,7 +51,7 @@ Signed-off-by: Dom Cobley HDMI_WRITE(HDMI_CEC_CNTRL_1, value); ret = devm_request_threaded_irq(&pdev->dev, platform_get_irq(pdev, 0), vc4_cec_irq_handler, -@@ -1769,6 +1771,7 @@ static int vc4_hdmi_dev_remove(struct pl +@@ -1770,6 +1772,7 @@ static int vc4_hdmi_dev_remove(struct pl static const struct vc4_hdmi_variant bcm2835_variant = { .max_pixel_clock = 162000000, @@ -59,7 +59,7 @@ Signed-off-by: Dom Cobley .audio_available = true, .cec_available = true, .registers = vc4_hdmi_fields, -@@ -1793,6 +1796,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1794,6 +1797,7 @@ static const struct vc4_hdmi_variant bcm .id = 0, .audio_available = true, .max_pixel_clock = 297000000, @@ -67,7 +67,7 @@ Signed-off-by: Dom Cobley .registers = vc5_hdmi_hdmi0_fields, .num_registers = ARRAY_SIZE(vc5_hdmi_hdmi0_fields), .phy_lane_mapping = { -@@ -1820,6 +1824,7 @@ static const struct vc4_hdmi_variant bcm +@@ -1821,6 +1825,7 @@ static const struct vc4_hdmi_variant bcm .id = 1, .audio_available = true, .max_pixel_clock = 297000000, diff --git a/target/linux/bcm27xx/patches-5.4/950-0716-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.4/950-0716-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index 25d5fd9507..7713eed5b1 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0716-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0716-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1402,9 +1402,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1403,9 +1403,6 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 clk_cnt; int ret; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, "vc4", CEC_CAP_DEFAULTS | -@@ -1773,7 +1770,6 @@ static const struct vc4_hdmi_variant bcm +@@ -1774,7 +1771,6 @@ static const struct vc4_hdmi_variant bcm .max_pixel_clock = 162000000, .cec_input_clock = VC4_HSM_CLOCK, .audio_available = true, diff --git a/target/linux/bcm53xx/patches-5.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch b/target/linux/bcm53xx/patches-5.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch index 339a8c5268..ff9d6b0005 100644 --- a/target/linux/bcm53xx/patches-5.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch +++ b/target/linux/bcm53xx/patches-5.4/500-UBI-Detect-EOF-mark-and-erase-all-remaining-blocks.patch @@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki return UBI_IO_BAD_HDR_EBADMSG; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -820,6 +820,7 @@ extern struct mutex ubi_devices_mutex; +@@ -822,6 +822,7 @@ extern struct mutex ubi_devices_mutex; extern struct blocking_notifier_head ubi_notifiers; /* attach.c */ diff --git a/target/linux/generic/hack-5.4/251-sound_kconfig.patch b/target/linux/generic/hack-5.4/251-sound_kconfig.patch index bcc6e5476b..f593417c9d 100644 --- a/target/linux/generic/hack-5.4/251-sound_kconfig.patch +++ b/target/linux/generic/hack-5.4/251-sound_kconfig.patch @@ -156,7 +156,7 @@ Signed-off-by: John Crispin default n help This options enables a library of common routines used -@@ -212,16 +212,16 @@ config LIB80211 +@@ -212,17 +212,17 @@ config LIB80211 Drivers should select this themselves if needed. config LIB80211_CRYPT_WEP @@ -167,6 +167,7 @@ Signed-off-by: John Crispin config LIB80211_CRYPT_CCMP - tristate + tristate "LIB80211_CRYPT_CCMP" + select CRYPTO select CRYPTO_AES select CRYPTO_CCM diff --git a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch index 185926468d..812e182467 100644 --- a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3117,3 +3118,5 @@ static int __init regmap_initcall(void) +@@ -3118,3 +3119,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch index ed18da9e0c..407597c896 100644 --- a/target/linux/generic/hack-5.4/721-phy_packets.patch +++ b/target/linux/generic/hack-5.4/721-phy_packets.patch @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2667,6 +2667,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2679,6 +2679,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2798,16 +2802,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2810,16 +2814,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index a2a7e1eefe..19926866a6 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau } --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -408,6 +408,9 @@ static struct pernet_operations ip_rt_pr +@@ -409,6 +409,9 @@ static struct pernet_operations ip_rt_pr static int __init ip_rt_proc_init(void) { diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch index 7c768c6a7e..3216d20157 100644 --- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau selftest.o \ --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1298,4 +1298,5 @@ static void __exit dma_buf_deinit(void) +@@ -1300,4 +1300,5 @@ static void __exit dma_buf_deinit(void) dma_buf_uninit_debugfs(); kern_unmount(dma_buf_mnt); } diff --git a/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch index 2595e096bb..659a6386ae 100644 --- a/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch +++ b/target/linux/generic/pending-5.4/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -910,7 +910,7 @@ static int get_chip(struct map_info *map +@@ -909,7 +909,7 @@ static int get_chip(struct map_info *map return 0; case FL_ERASING: diff --git a/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch b/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch index cf9fdabd71..8d2195e133 100644 --- a/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch +++ b/target/linux/generic/pending-5.4/461-mtd-cfi_cmdset_0002-add-buffer-write-cmd-timeout.patch @@ -7,7 +7,7 @@ Signed-off-by: George Kashperko 1 file changed, 1 insertion(+) --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2055,6 +2055,7 @@ static int __xipram do_write_buffer(stru +@@ -2054,6 +2054,7 @@ static int __xipram do_write_buffer(stru /* Write Buffer Load */ map_write(map, CMD(0x25), cmd_adr); diff --git a/target/linux/generic/pending-5.4/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-5.4/494-mtd-ubi-add-EOF-marker-support.patch index 57f5fcceba..fc48146221 100644 --- a/target/linux/generic/pending-5.4/494-mtd-ubi-add-EOF-marker-support.patch +++ b/target/linux/generic/pending-5.4/494-mtd-ubi-add-EOF-marker-support.patch @@ -50,7 +50,7 @@ Signed-off-by: Gabor Juhos break; --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h -@@ -776,6 +776,7 @@ struct ubi_attach_info { +@@ -780,6 +780,7 @@ struct ubi_attach_info { int mean_ec; uint64_t ec_sum; int ec_count; diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index 3260e645f3..605ce19f52 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5741,6 +5741,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5742,6 +5742,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5871,10 +5878,19 @@ static int nf_tables_newflowtable(struct +@@ -5872,10 +5879,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -6000,7 +6016,8 @@ static int nf_tables_fill_flowtable_info +@@ -6001,7 +6017,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/655-increase_skb_pad.patch b/target/linux/generic/pending-5.4/655-increase_skb_pad.patch index d8ca330ac2..f7ab7e492f 100644 --- a/target/linux/generic/pending-5.4/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-5.4/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2633,7 +2633,7 @@ static inline int pskb_network_may_pull( +@@ -2645,7 +2645,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch index e9fe405142..b289a6526a 100644 --- a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -5114,6 +5127,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5117,6 +5130,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -6048,6 +6064,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -6053,6 +6069,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -6083,6 +6102,12 @@ static void ata_host_release(struct kref +@@ -6088,6 +6107,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6546,7 +6571,23 @@ int ata_host_register(struct ata_host *h +@@ -6551,7 +6576,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } @@ -134,7 +134,7 @@ Signed-off-by: Daniel Golle /* * Define if arch has non-standard setup. This is a _PCI_ standard -@@ -880,6 +883,12 @@ struct ata_port { +@@ -881,6 +884,12 @@ struct ata_port { #ifdef CONFIG_ATA_ACPI struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ #endif diff --git a/target/linux/generic/pending-5.4/920-mangle_bootargs.patch b/target/linux/generic/pending-5.4/920-mangle_bootargs.patch index f1c80460e9..7523b396ba 100644 --- a/target/linux/generic/pending-5.4/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-5.4/920-mangle_bootargs.patch @@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz help --- a/init/main.c +++ b/init/main.c -@@ -366,6 +366,29 @@ static inline void setup_nr_cpu_ids(void +@@ -367,6 +367,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -596,6 +619,7 @@ asmlinkage __visible void __init start_k +@@ -597,6 +620,7 @@ asmlinkage __visible void __init start_k pr_notice("%s", linux_banner); early_security_init(); setup_arch(&command_line); diff --git a/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch b/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch index 7258c6048d..5eb1560774 100644 --- a/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch +++ b/target/linux/ipq806x/patches-5.4/0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime.patch @@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -2105,6 +2105,75 @@ put_table: +@@ -2095,6 +2095,75 @@ put_table: } /** diff --git a/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch b/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch index f3ca3c0fb5..d4dd53d2dc 100644 --- a/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch +++ b/target/linux/ipq806x/patches-5.4/0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t.patch @@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -2145,6 +2145,7 @@ int dev_pm_opp_adjust_voltage(struct dev +@@ -2135,6 +2135,7 @@ int dev_pm_opp_adjust_voltage(struct dev struct opp_table *opp_table; struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); int r = 0; @@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov /* Find the opp_table */ opp_table = _find_opp_table(dev); -@@ -2174,8 +2175,17 @@ int dev_pm_opp_adjust_voltage(struct dev +@@ -2164,8 +2165,17 @@ int dev_pm_opp_adjust_voltage(struct dev goto adjust_unlock; opp->supplies->u_volt = u_volt; diff --git a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch index 99a64ccadc..0ca2c5f806 100644 --- a/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/ipq806x/patches-5.4/0067-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -178,7 +178,7 @@ Signed-off-by: Adrian Panella } --- a/init/main.c +++ b/init/main.c -@@ -103,6 +103,10 @@ +@@ -104,6 +104,10 @@ #define CREATE_TRACE_POINTS #include @@ -189,7 +189,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -632,6 +636,18 @@ asmlinkage __visible void __init start_k +@@ -633,6 +637,18 @@ asmlinkage __visible void __init start_k pr_notice("Kernel command line: %s\n", boot_command_line); /* parameters may set static keys */ jump_label_init(); diff --git a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch index cb482bc522..8fa0e9d5d8 100644 --- a/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch +++ b/target/linux/lantiq/patches-5.4/0001-MIPS-lantiq-add-pcie-driver.patch @@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin (transaction layer end-to-end CRC checking). --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -1390,6 +1390,8 @@ void pci_walk_bus(struct pci_bus *top, i +@@ -1389,6 +1389,8 @@ void pci_walk_bus(struct pci_bus *top, i void *userdata); int pci_cfg_space_size(struct pci_dev *dev); unsigned char pci_bus_max_busnr(struct pci_bus *bus); diff --git a/target/linux/lantiq/patches-5.4/0004-MIPS-lantiq-add-atm-hack.patch b/target/linux/lantiq/patches-5.4/0004-MIPS-lantiq-add-atm-hack.patch index 1b1a0a1ca7..2cbcf06a01 100644 --- a/target/linux/lantiq/patches-5.4/0004-MIPS-lantiq-add-atm-hack.patch +++ b/target/linux/lantiq/patches-5.4/0004-MIPS-lantiq-add-atm-hack.patch @@ -471,7 +471,7 @@ Signed-off-by: John Crispin int max_pcr; /* maximum PCR in cells per second */ --- a/net/atm/proc.c +++ b/net/atm/proc.c -@@ -142,7 +142,7 @@ static void *vcc_seq_next(struct seq_fil +@@ -141,7 +141,7 @@ static void *vcc_seq_next(struct seq_fil static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc) { static const char *const class_name[] = { diff --git a/target/linux/layerscape/patches-5.4/701-net-0192-dpaa2-eth-Add-support-for-Rx-traffic-classes.patch b/target/linux/layerscape/patches-5.4/701-net-0192-dpaa2-eth-Add-support-for-Rx-traffic-classes.patch index 59a36bf67f..0ec6133fca 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0192-dpaa2-eth-Add-support-for-Rx-traffic-classes.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0192-dpaa2-eth-Add-support-for-Rx-traffic-classes.patch @@ -101,7 +101,7 @@ Signed-off-by: Ioana Radulescu } /* For each FQ, decide on which core to process incoming frames */ -@@ -2699,7 +2704,7 @@ static int setup_rx_flow(struct dpaa2_et +@@ -2701,7 +2706,7 @@ static int setup_rx_flow(struct dpaa2_et int err; err = dpni_get_queue(priv->mc_io, 0, priv->mc_token, @@ -110,7 +110,7 @@ Signed-off-by: Ioana Radulescu if (err) { dev_err(dev, "dpni_get_queue(RX) failed\n"); return err; -@@ -2712,7 +2717,7 @@ static int setup_rx_flow(struct dpaa2_et +@@ -2714,7 +2719,7 @@ static int setup_rx_flow(struct dpaa2_et queue.destination.priority = 1; queue.user_context = (u64)(uintptr_t)fq; err = dpni_set_queue(priv->mc_io, 0, priv->mc_token, @@ -119,7 +119,7 @@ Signed-off-by: Ioana Radulescu DPNI_QUEUE_OPT_USER_CTX | DPNI_QUEUE_OPT_DEST, &queue); if (err) { -@@ -2721,6 +2726,10 @@ static int setup_rx_flow(struct dpaa2_et +@@ -2723,6 +2728,10 @@ static int setup_rx_flow(struct dpaa2_et } /* xdp_rxq setup */ @@ -130,7 +130,7 @@ Signed-off-by: Ioana Radulescu err = xdp_rxq_info_reg(&fq->channel->xdp_rxq, priv->net_dev, fq->flowid); if (err) { -@@ -2858,7 +2867,7 @@ static int config_legacy_hash_key(struct +@@ -2860,7 +2869,7 @@ static int config_legacy_hash_key(struct { struct device *dev = priv->net_dev->dev.parent; struct dpni_rx_tc_dist_cfg dist_cfg; @@ -139,7 +139,7 @@ Signed-off-by: Ioana Radulescu memset(&dist_cfg, 0, sizeof(dist_cfg)); -@@ -2866,9 +2875,14 @@ static int config_legacy_hash_key(struct +@@ -2868,9 +2877,14 @@ static int config_legacy_hash_key(struct dist_cfg.dist_size = dpaa2_eth_queue_count(priv); dist_cfg.dist_mode = DPNI_DIST_MODE_HASH; @@ -157,7 +157,7 @@ Signed-off-by: Ioana Radulescu return err; } -@@ -2878,7 +2892,7 @@ static int config_hash_key(struct dpaa2_ +@@ -2880,7 +2894,7 @@ static int config_hash_key(struct dpaa2_ { struct device *dev = priv->net_dev->dev.parent; struct dpni_rx_dist_cfg dist_cfg; @@ -166,7 +166,7 @@ Signed-off-by: Ioana Radulescu memset(&dist_cfg, 0, sizeof(dist_cfg)); -@@ -2886,9 +2900,15 @@ static int config_hash_key(struct dpaa2_ +@@ -2888,9 +2902,15 @@ static int config_hash_key(struct dpaa2_ dist_cfg.dist_size = dpaa2_eth_queue_count(priv); dist_cfg.enable = 1; @@ -185,7 +185,7 @@ Signed-off-by: Ioana Radulescu return err; } -@@ -2898,7 +2918,7 @@ static int config_cls_key(struct dpaa2_e +@@ -2900,7 +2920,7 @@ static int config_cls_key(struct dpaa2_e { struct device *dev = priv->net_dev->dev.parent; struct dpni_rx_dist_cfg dist_cfg; @@ -194,7 +194,7 @@ Signed-off-by: Ioana Radulescu memset(&dist_cfg, 0, sizeof(dist_cfg)); -@@ -2906,9 +2926,15 @@ static int config_cls_key(struct dpaa2_e +@@ -2908,9 +2928,15 @@ static int config_cls_key(struct dpaa2_e dist_cfg.dist_size = dpaa2_eth_queue_count(priv); dist_cfg.enable = 1; diff --git a/target/linux/layerscape/patches-5.4/701-net-0194-dpaa2-eth-Distribute-ingress-frames-based-on-VLAN-pr.patch b/target/linux/layerscape/patches-5.4/701-net-0194-dpaa2-eth-Distribute-ingress-frames-based-on-VLAN-pr.patch index 4c9ae512a0..80e6afed34 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0194-dpaa2-eth-Distribute-ingress-frames-based-on-VLAN-pr.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0194-dpaa2-eth-Distribute-ingress-frames-based-on-VLAN-pr.patch @@ -147,7 +147,7 @@ Signed-off-by: Ioana Radulescu + priv->cls_rules = devm_kzalloc(dev, sizeof(struct dpaa2_eth_cls_rule) * dpaa2_eth_fs_count(priv), GFP_KERNEL); - if (!priv->cls_rules) + if (!priv->cls_rules) { --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h @@ -414,6 +414,7 @@ struct dpaa2_eth_priv { diff --git a/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch b/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch index 2d38b6b0d6..965212ed54 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch @@ -33,7 +33,7 @@ Signed-off-by: Ioana Radulescu depends on FSL_DPAA2_ETH && PTP_1588_CLOCK_QORIQ --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3612,6 +3612,81 @@ static void del_ch_napi(struct dpaa2_eth +@@ -3614,6 +3614,81 @@ static void del_ch_napi(struct dpaa2_eth } } @@ -115,7 +115,7 @@ Signed-off-by: Ioana Radulescu static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) { struct device *dev; -@@ -3701,6 +3776,15 @@ static int dpaa2_eth_probe(struct fsl_mc +@@ -3703,6 +3778,15 @@ static int dpaa2_eth_probe(struct fsl_mc if (err) goto err_alloc_rings; diff --git a/target/linux/layerscape/patches-5.4/701-net-0200-dpaa2-eth-Enable-Rx-PFC.patch b/target/linux/layerscape/patches-5.4/701-net-0200-dpaa2-eth-Enable-Rx-PFC.patch index 65d81f337d..4396f2ea8e 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0200-dpaa2-eth-Enable-Rx-PFC.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0200-dpaa2-eth-Enable-Rx-PFC.patch @@ -26,7 +26,7 @@ Signed-off-by: Ioana Radulescu --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3618,6 +3618,9 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s +@@ -3620,6 +3620,9 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s { struct dpaa2_eth_priv *priv = netdev_priv(net_dev); @@ -36,7 +36,7 @@ Signed-off-by: Ioana Radulescu memcpy(pfc, &priv->pfc, sizeof(priv->pfc)); pfc->pfc_cap = dpaa2_eth_tc_count(priv); -@@ -3628,6 +3631,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3630,6 +3633,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s struct ieee_pfc *pfc) { struct dpaa2_eth_priv *priv = netdev_priv(net_dev); @@ -45,7 +45,7 @@ Signed-off-by: Ioana Radulescu if (pfc->mbc || pfc->delay) return -EOPNOTSUPP; -@@ -3636,6 +3641,24 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3638,6 +3643,24 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s if (priv->pfc.pfc_en == pfc->pfc_en) return 0; diff --git a/target/linux/layerscape/patches-5.4/701-net-0201-dpaa2-eth-Enable-Tx-PFC.patch b/target/linux/layerscape/patches-5.4/701-net-0201-dpaa2-eth-Enable-Tx-PFC.patch index c663578ffc..7d18504070 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0201-dpaa2-eth-Enable-Tx-PFC.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0201-dpaa2-eth-Enable-Tx-PFC.patch @@ -19,7 +19,7 @@ Signed-off-by: Ioana Radulescu --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3627,6 +3627,47 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s +@@ -3629,6 +3629,47 @@ static int dpaa2_eth_dcbnl_ieee_getpfc(s return 0; } @@ -67,7 +67,7 @@ Signed-off-by: Ioana Radulescu static int dpaa2_eth_dcbnl_ieee_setpfc(struct net_device *net_dev, struct ieee_pfc *pfc) { -@@ -3644,7 +3685,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3646,7 +3687,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s /* We allow PFC configuration even if it won't have any effect until * general pause frames are enabled */ @@ -77,7 +77,7 @@ Signed-off-by: Ioana Radulescu netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n"); link_cfg.rate = priv->link_state.rate; -@@ -3659,6 +3701,11 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3661,6 +3703,11 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s return err; } diff --git a/target/linux/layerscape/patches-5.4/701-net-0202-dpaa2-eth-Keep-congestion-group-taildrop-enabled-whe.patch b/target/linux/layerscape/patches-5.4/701-net-0202-dpaa2-eth-Keep-congestion-group-taildrop-enabled-whe.patch index 8ac8ccf9bc..9a0024636d 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0202-dpaa2-eth-Keep-congestion-group-taildrop-enabled-whe.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0202-dpaa2-eth-Keep-congestion-group-taildrop-enabled-whe.patch @@ -87,7 +87,7 @@ Signed-off-by: Ioana Radulescu /* Chech link state; speed / duplex changes are not treated yet */ if (priv->link_state.up == state.up) -@@ -3673,6 +3688,7 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3675,6 +3690,7 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s { struct dpaa2_eth_priv *priv = netdev_priv(net_dev); struct dpni_link_cfg link_cfg = {0}; @@ -95,7 +95,7 @@ Signed-off-by: Ioana Radulescu int err; if (pfc->mbc || pfc->delay) -@@ -3685,8 +3701,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3687,8 +3703,8 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s /* We allow PFC configuration even if it won't have any effect until * general pause frames are enabled */ @@ -106,7 +106,7 @@ Signed-off-by: Ioana Radulescu netdev_warn(net_dev, "Pause support must be enabled in order for PFC to work!\n"); link_cfg.rate = priv->link_state.rate; -@@ -3707,6 +3723,9 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s +@@ -3709,6 +3725,9 @@ static int dpaa2_eth_dcbnl_ieee_setpfc(s return err; memcpy(&priv->pfc, pfc, sizeof(priv->pfc)); diff --git a/target/linux/layerscape/patches-5.4/701-net-0204-dpaa2-eth-Add-Tx-shaping-support.patch b/target/linux/layerscape/patches-5.4/701-net-0204-dpaa2-eth-Add-Tx-shaping-support.patch index 73dead7363..4974362d71 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0204-dpaa2-eth-Add-Tx-shaping-support.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0204-dpaa2-eth-Add-Tx-shaping-support.patch @@ -19,7 +19,7 @@ Signed-off-by: Bogdan Purcareata --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3776,6 +3776,83 @@ const struct dcbnl_rtnl_ops dpaa2_eth_dc +@@ -3778,6 +3778,83 @@ const struct dcbnl_rtnl_ops dpaa2_eth_dc }; #endif @@ -103,7 +103,7 @@ Signed-off-by: Bogdan Purcareata static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) { struct device *dev; -@@ -3895,6 +3972,7 @@ static int dpaa2_eth_probe(struct fsl_mc +@@ -3897,6 +3974,7 @@ static int dpaa2_eth_probe(struct fsl_mc #ifdef CONFIG_DEBUG_FS dpaa2_dbg_add(priv); #endif @@ -111,7 +111,7 @@ Signed-off-by: Bogdan Purcareata dev_info(dev, "Probed interface %s\n", net_dev->name); return 0; -@@ -3942,6 +4020,8 @@ static int dpaa2_eth_remove(struct fsl_m +@@ -3944,6 +4022,8 @@ static int dpaa2_eth_remove(struct fsl_m #ifdef CONFIG_DEBUG_FS dpaa2_dbg_remove(priv); #endif diff --git a/target/linux/layerscape/patches-5.4/701-net-0205-dpaa2-eth-Add-Rx-error-queue.patch b/target/linux/layerscape/patches-5.4/701-net-0205-dpaa2-eth-Add-Rx-error-queue.patch index 58e744354a..5d5d8f5fd5 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0205-dpaa2-eth-Add-Rx-error-queue.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0205-dpaa2-eth-Add-Rx-error-queue.patch @@ -113,7 +113,7 @@ Signed-off-by: Ioana Radulescu /* For each FQ, decide on which core to process incoming frames */ set_fq_affinity(priv); } -@@ -2944,6 +2998,40 @@ static int setup_tx_flow(struct dpaa2_et +@@ -2946,6 +3000,40 @@ static int setup_tx_flow(struct dpaa2_et return 0; } @@ -154,7 +154,7 @@ Signed-off-by: Ioana Radulescu /* Supported header fields for Rx hash distribution key */ static const struct dpaa2_eth_dist_fields dist_fields[] = { { -@@ -3313,7 +3401,11 @@ static int bind_dpni(struct dpaa2_eth_pr +@@ -3315,7 +3403,11 @@ static int bind_dpni(struct dpaa2_eth_pr /* Configure handling of error frames */ err_cfg.errors = DPAA2_FAS_RX_ERR_MASK; err_cfg.set_frame_annotation = 1; @@ -166,7 +166,7 @@ Signed-off-by: Ioana Radulescu err = dpni_set_errors_behavior(priv->mc_io, 0, priv->mc_token, &err_cfg); if (err) { -@@ -3330,6 +3422,11 @@ static int bind_dpni(struct dpaa2_eth_pr +@@ -3332,6 +3424,11 @@ static int bind_dpni(struct dpaa2_eth_pr case DPAA2_TX_CONF_FQ: err = setup_tx_flow(priv, &priv->fq[i]); break; diff --git a/target/linux/layerscape/patches-5.4/701-net-0209-dpaa2-eth-Update-dpni_set_tx_shaping-cmd-to-v2.patch b/target/linux/layerscape/patches-5.4/701-net-0209-dpaa2-eth-Update-dpni_set_tx_shaping-cmd-to-v2.patch index dfbb892c82..bb80578cdd 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0209-dpaa2-eth-Update-dpni_set_tx_shaping-cmd-to-v2.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0209-dpaa2-eth-Update-dpni_set_tx_shaping-cmd-to-v2.patch @@ -15,7 +15,7 @@ Signed-off-by: Bogdan Purcareata --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3893,7 +3893,7 @@ static ssize_t dpaa2_eth_write_tx_shapin +@@ -3895,7 +3895,7 @@ static ssize_t dpaa2_eth_write_tx_shapin { int err, items; struct dpaa2_eth_priv *priv = netdev_priv(to_net_dev(dev)); @@ -24,7 +24,7 @@ Signed-off-by: Bogdan Purcareata items = sscanf(buf, "%u %hu", &scfg.rate_limit, &scfg.max_burst_size); if (items != 2) { -@@ -3907,7 +3907,8 @@ static ssize_t dpaa2_eth_write_tx_shapin +@@ -3909,7 +3909,8 @@ static ssize_t dpaa2_eth_write_tx_shapin return -EINVAL; } diff --git a/target/linux/layerscape/patches-5.4/701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch b/target/linux/layerscape/patches-5.4/701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch index cc8cfb1c29..ca06007dfe 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch @@ -1561,7 +1561,7 @@ Signed-off-by: Camelia Groza static const struct net_device_ops dpaa2_eth_ops = { .ndo_open = dpaa2_eth_open, .ndo_start_xmit = dpaa2_eth_tx, -@@ -4171,18 +4191,27 @@ static int __init dpaa2_eth_driver_init( +@@ -4173,18 +4193,27 @@ static int __init dpaa2_eth_driver_init( dpaa2_eth_dbg_init(); err = fsl_mc_driver_register(&dpaa2_eth_driver); diff --git a/target/linux/layerscape/patches-5.4/811-kvm-0004-virt-vgic-Increase-number-of-DeviceIDs-to-17.patch b/target/linux/layerscape/patches-5.4/811-kvm-0004-virt-vgic-Increase-number-of-DeviceIDs-to-17.patch index 11492b0ce9..0c55bf9942 100644 --- a/target/linux/layerscape/patches-5.4/811-kvm-0004-virt-vgic-Increase-number-of-DeviceIDs-to-17.patch +++ b/target/linux/layerscape/patches-5.4/811-kvm-0004-virt-vgic-Increase-number-of-DeviceIDs-to-17.patch @@ -15,7 +15,7 @@ Signed-off-by: Bharat Bhushan --- a/virt/kvm/arm/vgic/vgic-its.c +++ b/virt/kvm/arm/vgic/vgic-its.c -@@ -241,7 +241,7 @@ static struct its_ite *find_ite(struct v +@@ -248,7 +248,7 @@ static struct its_ite *find_ite(struct v #define GIC_LPI_OFFSET 8192 #define VITS_TYPER_IDBITS 16 diff --git a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch index 1175efa432..d01ee99a55 100644 --- a/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch +++ b/target/linux/layerscape/patches-5.4/812-pcie-0004-pci-add-support-aer-pme-interrupts-with-none-MSI-MSI.patch @@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang * fall back to INTx or other interrupts, e.g., a system shared --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -2021,6 +2021,7 @@ static inline void pcibios_penalize_isa_ +@@ -2020,6 +2020,7 @@ static inline void pcibios_penalize_isa_ int pcibios_alloc_irq(struct pci_dev *dev); void pcibios_free_irq(struct pci_dev *dev); resource_size_t pcibios_default_alignment(void); diff --git a/target/linux/layerscape/patches-5.4/820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch b/target/linux/layerscape/patches-5.4/820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch deleted file mode 100644 index 98bf576690..0000000000 --- a/target/linux/layerscape/patches-5.4/820-usb-0007-usb-dwc3-gadget-increase-timeout-value-for-send-ep-c.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 355f342af78a54051f38ffa4b4018e6ea6b9e3d4 Mon Sep 17 00:00:00 2001 -From: Li Jun -Date: Mon, 28 Jan 2019 11:19:03 +0800 -Subject: [PATCH] usb: dwc3: gadget: increase timeout value for send ep cmd - -In case the USB3 PHY enters P3, then ep command may need a long -time to complete, per test of ep0out enable, the dwc3 trace time -stamp shows the time is more then 280us, so increase the timeout -loop count to be 2000, this has no side effect for HW which has -no this problem. - -Signed-off-by: Li Jun ---- - drivers/usb/dwc3/gadget.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/usb/dwc3/gadget.c -+++ b/drivers/usb/dwc3/gadget.c -@@ -270,7 +270,7 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ - { - const struct usb_endpoint_descriptor *desc = dep->endpoint.desc; - struct dwc3 *dwc = dep->dwc; -- u32 timeout = 1000; -+ u32 timeout = 2000; - u32 saved_config = 0; - u32 reg; - diff --git a/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch b/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch index 0eac2ed66e..b480490b8d 100644 --- a/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch +++ b/target/linux/mediatek/patches-5.4/0600-net-phylink-propagate-resolved-link-config-via-mac_l.patch @@ -141,7 +141,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c -@@ -1488,9 +1488,10 @@ static void axienet_mac_link_down(struct +@@ -1499,9 +1499,10 @@ static void axienet_mac_link_down(struct } static void axienet_mac_link_up(struct phylink_config *config, diff --git a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch index 104334dc03..92383f51b4 100644 --- a/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-5.4/0900-bt-mtk-serial-fix.patch @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2564,6 +2564,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2578,6 +2578,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch index 5969a10a86..ed92476302 100644 --- a/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/mvebu/patches-5.4/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -176,7 +176,7 @@ Signed-off-by: Michael Gray } --- a/init/main.c +++ b/init/main.c -@@ -103,6 +103,10 @@ +@@ -104,6 +104,10 @@ #define CREATE_TRACE_POINTS #include @@ -187,7 +187,7 @@ Signed-off-by: Michael Gray static int kernel_init(void *); extern void init_IRQ(void); -@@ -630,6 +634,18 @@ asmlinkage __visible void __init start_k +@@ -631,6 +635,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch index 042461e73b..699d131c9f 100644 --- a/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch +++ b/target/linux/oxnas/patches-5.4/996-generic-Mangle-bootloader-s-kernel-arguments.patch @@ -157,7 +157,7 @@ Signed-off-by: Adrian Panella } --- a/init/main.c +++ b/init/main.c -@@ -103,6 +103,10 @@ +@@ -104,6 +104,10 @@ #define CREATE_TRACE_POINTS #include @@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella static int kernel_init(void *); extern void init_IRQ(void); -@@ -630,6 +634,18 @@ asmlinkage __visible void __init start_k +@@ -631,6 +635,18 @@ asmlinkage __visible void __init start_k page_alloc_init(); pr_notice("Kernel command line: %s\n", boot_command_line); diff --git a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch index 28d6f8b570..5d93ce39f7 100644 --- a/target/linux/oxnas/patches-5.4/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-5.4/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); -@@ -5121,6 +5129,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5124,6 +5132,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -5166,6 +5177,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -5169,6 +5180,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); @@ -36,8 +36,8 @@ --- a/include/linux/libata.h +++ b/include/linux/libata.h -@@ -909,6 +909,8 @@ struct ata_port_operations { - void (*qc_prep)(struct ata_queued_cmd *qc); +@@ -910,6 +910,8 @@ struct ata_port_operations { + enum ata_completion_errors (*qc_prep)(struct ata_queued_cmd *qc); unsigned int (*qc_issue)(struct ata_queued_cmd *qc); bool (*qc_fill_rtf)(struct ata_queued_cmd *qc); + int (*qc_new)(struct ata_port *ap); @@ -45,7 +45,7 @@ /* * Configuration and exception handling -@@ -999,6 +1001,9 @@ struct ata_port_operations { +@@ -1000,6 +1002,9 @@ struct ata_port_operations { void (*phy_reset)(struct ata_port *ap); void (*eng_timeout)(struct ata_port *ap);