mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-19 05:14:58 +00:00
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>
This commit is contained in:
parent
2d72671b6e
commit
d6a9a92e32
@ -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)))))))
|
||||
|
@ -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; }
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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 = {
|
||||
|
@ -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,
|
||||
};
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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 = {
|
||||
|
@ -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;
|
||||
|
||||
/*
|
||||
|
@ -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)) {
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
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 */
|
||||
|
@ -156,7 +156,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
|
||||
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 <john@phrozen.org>
|
||||
config LIB80211_CRYPT_CCMP
|
||||
- tristate
|
||||
+ tristate "LIB80211_CRYPT_CCMP"
|
||||
select CRYPTO
|
||||
select CRYPTO_AES
|
||||
select CRYPTO_CCM
|
||||
|
||||
|
@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/of.h>
|
||||
@@ -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);
|
||||
|
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- 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 <nbd@nbd.name>
|
||||
/**
|
||||
* 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_
|
||||
}
|
||||
|
||||
|
||||
|
@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
--- 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)
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
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);
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- 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:
|
||||
|
@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
|
||||
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);
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
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;
|
||||
|
@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
|
||||
+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 <pablo@netfilter.org>
|
||||
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 <pablo@netfilter.org>
|
||||
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),
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- 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
|
||||
|
@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/**
|
||||
* 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 <daniel@makrotopia.org>
|
||||
|
||||
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 <daniel@makrotopia.org>
|
||||
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 <daniel@makrotopia.org>
|
||||
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 <daniel@makrotopia.org>
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
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 <kaloz@openwrt.org>
|
||||
/*
|
||||
* 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);
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
|
||||
|
||||
--- a/drivers/opp/core.c
|
||||
+++ b/drivers/opp/core.c
|
||||
@@ -2105,6 +2105,75 @@ put_table:
|
||||
@@ -2095,6 +2095,75 @@ put_table:
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
||||
|
||||
--- 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 <georgi.djakov@linaro.org>
|
||||
|
||||
/* 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;
|
||||
|
@ -178,7 +178,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||
}
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -103,6 +103,10 @@
|
||||
@@ -104,6 +104,10 @@
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/initcall.h>
|
||||
|
||||
@ -189,7 +189,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||
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();
|
||||
|
@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
(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);
|
||||
|
@ -471,7 +471,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
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[] = {
|
||||
|
@ -101,7 +101,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
}
|
||||
|
||||
/* 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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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;
|
||||
|
||||
|
@ -147,7 +147,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
+
|
||||
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 {
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
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;
|
||||
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
|
||||
--- 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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
|
||||
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;
|
||||
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
|
||||
--- 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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
|
||||
/* 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 <ruxandra.radulescu@nxp.com>
|
||||
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 <ruxandra.radulescu@nxp.com>
|
||||
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));
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
||||
|
||||
--- 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 <bogdan.purcareata@nxp.com>
|
||||
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 <bogdan.purcareata@nxp.com>
|
||||
|
||||
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
|
||||
|
@ -113,7 +113,7 @@ Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|
||||
/* 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 <ruxandra.radulescu@nxp.com>
|
||||
/* 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 <ruxandra.radulescu@nxp.com>
|
||||
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;
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
||||
|
||||
--- 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 <bogdan.purcareata@nxp.com>
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -1561,7 +1561,7 @@ Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
|
||||
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);
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com>
|
||||
|
||||
--- 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
|
||||
|
@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
|
||||
* 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);
|
||||
|
@ -1,27 +0,0 @@
|
||||
From 355f342af78a54051f38ffa4b4018e6ea6b9e3d4 Mon Sep 17 00:00:00 2001
|
||||
From: Li Jun <jun.li@nxp.com>
|
||||
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 <jun.li@nxp.com>
|
||||
---
|
||||
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;
|
||||
|
@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- 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,
|
||||
|
@ -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;
|
||||
|
||||
|
@ -176,7 +176,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
|
||||
}
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -103,6 +103,10 @@
|
||||
@@ -104,6 +104,10 @@
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/initcall.h>
|
||||
|
||||
@ -187,7 +187,7 @@ Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
|
||||
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);
|
||||
|
@ -157,7 +157,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||
}
|
||||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -103,6 +103,10 @@
|
||||
@@ -104,6 +104,10 @@
|
||||
#define CREATE_TRACE_POINTS
|
||||
#include <trace/events/initcall.h>
|
||||
|
||||
@ -168,7 +168,7 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
|
||||
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);
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user