aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx
diff options
context:
space:
mode:
authorJohn Audia <graysky@archlinux.us>2020-10-01 09:22:00 -0400
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-10-02 22:02:26 +0200
commitd6a9a92e32177e8236812045d09deacc4e36be26 (patch)
treeb42a2c4eea5d7d8e126a4cfeb45e572578ea6522 /target/linux/bcm27xx
parent2d72671b6e7469dbc5b2e79cb1be77c4e13a9c92 (diff)
downloadupstream-d6a9a92e32177e8236812045d09deacc4e36be26.tar.gz
upstream-d6a9a92e32177e8236812045d09deacc4e36be26.tar.bz2
upstream-d6a9a92e32177e8236812045d09deacc4e36be26.zip
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 <graysky@archlinux.us> [add lantiq test report, minor commit message clarification] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/bcm27xx')
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0447-PCI-of-Add-inbound-resource-parsing-to-helpers.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0564-drm-vc4-crtc-Rename-HDMI-encoder-type-to-HDMI0.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0572-drm-vc4-hdmi-rework-connectors-and-encoders.patch12
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0573-drm-vc4-hdmi-Rename-hdmi-to-vc4_hdmi.patch20
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0574-drm-vc4-hdmi-Move-accessors-to-vc4_hdmi.patch8
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0577-drm-vc4-hdmi-Pass-vc4_hdmi-to-CEC-code.patch18
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0578-drm-vc4-hdmi-Remove-vc4_dev-hdmi-pointer.patch8
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0579-drm-vc4-hdmi-Remove-vc4_hdmi_connector.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0580-drm-vc4-hdmi-Introduce-resource-init-and-variant.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0581-drm-vc4-hdmi-Implement-a-register-layout-abstraction.patch24
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0582-drm-vc4-hdmi-Add-reset-callback.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0583-drm-vc4-hdmi-Add-PHY-init-and-disable-function.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0584-drm-vc4-hdmi-Add-PHY-RNG-enable-disable-function.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0585-drm-vc4-hdmi-Add-a-CSC-setup-callback.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0586-drm-vc4-hdmi-Add-a-set_timings-callback.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0587-drm-vc4-hdmi-Add-HDMI-ID.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0588-drm-vc4-hdmi-Deal-with-multiple-debugfs-files.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0589-drm-vc4-hdmi-Add-an-audio-support-flag.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0590-drm-vc4-hdmi-Move-CEC-init-to-its-own-function.patch10
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0591-drm-vc4-hdmi-Add-CEC-support-flag.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0594-drm-vc4-hdmi-Adjust-HSM-clock-rate-depending-on-pixe.patch8
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0595-drm-vc4-hdmi-Support-the-BCM2711-HDMI-controllers.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0610-drm-vc4-Add-audio-initialisation-for-Pi4.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0611-drm-vc4-Enable-audio-on-Pi4.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0612-drm-vc4-Alter-the-HDMI-state-machine-clock-calc-to-a.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0617-drm-vc4-hdmi-Give-the-HDMI-audio-instances-different.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0641-drm-vc4-hdmi-Silence-pixel-clock-error-on-EPROBE_DEF.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0682-vc4_hdmi-BCM2835-requires-a-fixed-hsm-clock-for-CEC-.patch6
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0710-vc4_hdmi-Fix-register-offset-when-sending-longer-CEC.patch4
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0712-vc4_hdmi_regs-Add-Intr2-register-block.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0713-vc4_hdmi_regs-Make-interrupt-mask-variant-specific.patch12
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0714-vc4_hdmi-Make-irq-shared.patch2
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0715-vc4_hdmi-Adjust-CEC-ref-clock-based-on-its-input-clo.patch10
-rw-r--r--target/linux/bcm27xx/patches-5.4/950-0716-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch4
34 files changed, 103 insertions, 103 deletions
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
#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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
}
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
#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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
(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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
}
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
#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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
--- 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
/* 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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <maxime@cerno.tech>
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 <dave.stevenson@raspberrypi.com>
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 <dave.stevenson@raspberrypi.com>
};
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 <dave.stevenson@raspberrypi.com>
};
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 <dave.stevenson@raspberrypi.com>
--- 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 <dave.stevenson@raspberrypi.com>
.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 <dave.stevenson@raspberrypi.com>
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 <dave.stevenson@raspberrypi.com>
- 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 <james.hilliard1@gmail.com>
--- 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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
.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 <popcornmix@gmail.com>
.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 <popcornmix@gmail.com>
--- 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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
--- 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 <popcornmix@gmail.com>
--- 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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
};
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 <popcornmix@gmail.com>
};
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 <popcornmix@gmail.com>
--- 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 <popcornmix@gmail.com>
}
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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
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 <popcornmix@gmail.com>
.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 <popcornmix@gmail.com>
.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 <popcornmix@gmail.com>
--- 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 <popcornmix@gmail.com>
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,