diff options
Diffstat (limited to 'target/linux/brcm2708')
13 files changed, 29 insertions, 79 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0002-smsx95xx-fix-crimes-against-truesize.patch b/target/linux/brcm2708/patches-4.14/950-0002-smsx95xx-fix-crimes-against-truesize.patch index 0dd2c7ce35..52999a9bd0 100644 --- a/target/linux/brcm2708/patches-4.14/950-0002-smsx95xx-fix-crimes-against-truesize.patch +++ b/target/linux/brcm2708/patches-4.14/950-0002-smsx95xx-fix-crimes-against-truesize.patch @@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com> static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { -@@ -1971,7 +1975,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1972,7 +1976,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(skb); skb_trim(skb, skb->len - 4); /* remove fcs */ @@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com> return 1; } -@@ -1989,7 +1994,8 @@ static int smsc95xx_rx_fixup(struct usbn +@@ -1990,7 +1995,8 @@ static int smsc95xx_rx_fixup(struct usbn if (dev->net->features & NETIF_F_RXCSUM) smsc95xx_rx_csum_offload(ax_skb); skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */ diff --git a/target/linux/brcm2708/patches-4.14/950-0016-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/target/linux/brcm2708/patches-4.14/950-0016-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch index bb14791bad..8c5821575c 100644 --- a/target/linux/brcm2708/patches-4.14/950-0016-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch +++ b/target/linux/brcm2708/patches-4.14/950-0016-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch @@ -47,7 +47,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org> struct bcm2835_dmadev { struct dma_device ddev; -@@ -925,6 +927,9 @@ static int bcm2835_dma_probe(struct plat +@@ -905,6 +907,9 @@ static int bcm2835_dma_probe(struct plat base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(base)) return PTR_ERR(base); @@ -57,7 +57,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org> od->base = base; -@@ -962,6 +967,9 @@ static int bcm2835_dma_probe(struct plat +@@ -942,6 +947,9 @@ static int bcm2835_dma_probe(struct plat goto err_no_dma; } @@ -67,7 +67,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org> /* get irqs for each channel that we support */ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { /* skip masked out channels */ -@@ -1036,6 +1044,7 @@ static int bcm2835_dma_remove(struct pla +@@ -1016,6 +1024,7 @@ static int bcm2835_dma_remove(struct pla { struct bcm2835_dmadev *od = platform_get_drvdata(pdev); @@ -75,7 +75,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org> dma_async_device_unregister(&od->ddev); bcm2835_dma_free(od); -@@ -1051,7 +1060,22 @@ static struct platform_driver bcm2835_dm +@@ -1031,7 +1040,22 @@ static struct platform_driver bcm2835_dm }, }; diff --git a/target/linux/brcm2708/patches-4.14/950-0037-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-4.14/950-0037-Add-dwc_otg-driver.patch index 49a291702f..f11406ed57 100644 --- a/target/linux/brcm2708/patches-4.14/950-0037-Add-dwc_otg-driver.patch +++ b/target/linux/brcm2708/patches-4.14/950-0037-Add-dwc_otg-driver.patch @@ -841,7 +841,7 @@ Signed-off-by: Malik Olivier Boussejra <malik@boussejra.com> } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5084,7 +5084,7 @@ static void port_event(struct usb_hub *h +@@ -5094,7 +5094,7 @@ static void port_event(struct usb_hub *h if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; diff --git a/target/linux/brcm2708/patches-4.14/950-0056-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/brcm2708/patches-4.14/950-0056-fbdev-add-FBIOCOPYAREA-ioctl.patch index b01c2203e1..dd41f5d44e 100644 --- a/target/linux/brcm2708/patches-4.14/950-0056-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/brcm2708/patches-4.14/950-0056-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -170,7 +170,7 @@ bcm2708_fb: Add ioctl for reading gpu memory through dma platform_set_drvdata(dev, fb); --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1086,6 +1086,31 @@ fb_blank(struct fb_info *info, int blank +@@ -1090,6 +1090,31 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -202,7 +202,7 @@ bcm2708_fb: Add ioctl for reading gpu memory through dma static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1096,6 +1121,7 @@ static long do_fb_ioctl(struct fb_info * +@@ -1100,6 +1125,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_cmap cmap_from; struct fb_cmap_user cmap; struct fb_event event; @@ -210,7 +210,7 @@ bcm2708_fb: Add ioctl for reading gpu memory through dma void __user *argp = (void __user *)arg; long ret = 0; -@@ -1213,6 +1239,15 @@ static long do_fb_ioctl(struct fb_info * +@@ -1217,6 +1243,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -226,7 +226,7 @@ bcm2708_fb: Add ioctl for reading gpu memory through dma default: if (!lock_fb_info(info)) return -ENODEV; -@@ -1358,6 +1393,7 @@ static long fb_compat_ioctl(struct file +@@ -1362,6 +1397,7 @@ static long fb_compat_ioctl(struct file case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: diff --git a/target/linux/brcm2708/patches-4.14/950-0131-drm-vc4-Fix-pitch-setup-for-T-format-scanout.patch b/target/linux/brcm2708/patches-4.14/950-0131-drm-vc4-Fix-pitch-setup-for-T-format-scanout.patch index 1b140f0a60..98b7ba2872 100644 --- a/target/linux/brcm2708/patches-4.14/950-0131-drm-vc4-Fix-pitch-setup-for-T-format-scanout.patch +++ b/target/linux/brcm2708/patches-4.14/950-0131-drm-vc4-Fix-pitch-setup-for-T-format-scanout.patch @@ -16,7 +16,7 @@ Fixes: 98830d91da08 ("drm/vc4: Add T-format scanout support.") --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -547,14 +547,24 @@ static int vc4_plane_mode_set(struct drm +@@ -549,14 +549,24 @@ static int vc4_plane_mode_set(struct drm tiling = SCALER_CTL0_TILING_LINEAR; pitch0 = VC4_SET_FIELD(fb->pitches[0], SCALER_SRC_PITCH); break; diff --git a/target/linux/brcm2708/patches-4.14/950-0174-drm-vc4-Add-the-DRM_IOCTL_VC4_GEM_MADVISE-ioctl.patch b/target/linux/brcm2708/patches-4.14/950-0174-drm-vc4-Add-the-DRM_IOCTL_VC4_GEM_MADVISE-ioctl.patch index 995c2c0db2..0e410c484c 100644 --- a/target/linux/brcm2708/patches-4.14/950-0174-drm-vc4-Add-the-DRM_IOCTL_VC4_GEM_MADVISE-ioctl.patch +++ b/target/linux/brcm2708/patches-4.14/950-0174-drm-vc4-Add-the-DRM_IOCTL_VC4_GEM_MADVISE-ioctl.patch @@ -778,7 +778,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20171019125748.3152-1-boris. #include "vc4_drv.h" #include "vc4_regs.h" -@@ -777,21 +778,40 @@ static int vc4_prepare_fb(struct drm_pla +@@ -779,21 +780,40 @@ static int vc4_prepare_fb(struct drm_pla { struct vc4_bo *bo; struct dma_fence *fence; diff --git a/target/linux/brcm2708/patches-4.14/950-0181-drm-vc4-Use-.pixel_order-instead-of-custom-.flip_cbc.patch b/target/linux/brcm2708/patches-4.14/950-0181-drm-vc4-Use-.pixel_order-instead-of-custom-.flip_cbc.patch index 9e067686b0..d9f3e3deb0 100644 --- a/target/linux/brcm2708/patches-4.14/950-0181-drm-vc4-Use-.pixel_order-instead-of-custom-.flip_cbc.patch +++ b/target/linux/brcm2708/patches-4.14/950-0181-drm-vc4-Use-.pixel_order-instead-of-custom-.flip_cbc.patch @@ -66,7 +66,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/563872b69c1e5df142cb15ebfca7 }, }; -@@ -625,15 +628,8 @@ static int vc4_plane_mode_set(struct drm +@@ -627,15 +630,8 @@ static int vc4_plane_mode_set(struct drm * The pointers may be any byte address. */ vc4_state->ptr0_offset = vc4_state->dlist_count; diff --git a/target/linux/brcm2708/patches-4.14/950-0344-drm-vc4-Set-premultiplied-for-alpha-formats.patch b/target/linux/brcm2708/patches-4.14/950-0344-drm-vc4-Set-premultiplied-for-alpha-formats.patch index 9abfa14619..af7396910c 100644 --- a/target/linux/brcm2708/patches-4.14/950-0344-drm-vc4-Set-premultiplied-for-alpha-formats.patch +++ b/target/linux/brcm2708/patches-4.14/950-0344-drm-vc4-Set-premultiplied-for-alpha-formats.patch @@ -22,7 +22,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/1520556817-97297-2-git-send- --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -619,13 +619,14 @@ static int vc4_plane_mode_set(struct drm +@@ -621,13 +621,14 @@ static int vc4_plane_mode_set(struct drm SCALER_POS1_SCL_HEIGHT)); } diff --git a/target/linux/brcm2708/patches-4.14/950-0345-drm-vc4-Check-if-plane-requires-background-fill.patch b/target/linux/brcm2708/patches-4.14/950-0345-drm-vc4-Check-if-plane-requires-background-fill.patch index 6eaae48b0f..778fe67630 100644 --- a/target/linux/brcm2708/patches-4.14/950-0345-drm-vc4-Check-if-plane-requires-background-fill.patch +++ b/target/linux/brcm2708/patches-4.14/950-0345-drm-vc4-Check-if-plane-requires-background-fill.patch @@ -36,7 +36,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/1520556817-97297-3-git-send- }; static inline struct vc4_plane_state * -@@ -522,6 +528,7 @@ static int vc4_plane_mode_set(struct drm +@@ -524,6 +530,7 @@ static int vc4_plane_mode_set(struct drm u32 ctl0_offset = vc4_state->dlist_count; const struct hvs_format *format = vc4_get_hvs_format(fb->format->format); int num_planes = drm_format_num_planes(format->drm); @@ -44,7 +44,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/1520556817-97297-3-git-send- u32 scl0, scl1, pitch0; u32 lbm_size, tiling; unsigned long irqflags; -@@ -705,6 +712,16 @@ static int vc4_plane_mode_set(struct drm +@@ -707,6 +714,16 @@ static int vc4_plane_mode_set(struct drm vc4_state->dlist[ctl0_offset] |= VC4_SET_FIELD(vc4_state->dlist_count, SCALER_CTL0_SIZE); diff --git a/target/linux/brcm2708/patches-4.14/950-0354-drm-vc4-Advertise-supported-modifiers-for-planes.patch b/target/linux/brcm2708/patches-4.14/950-0354-drm-vc4-Advertise-supported-modifiers-for-planes.patch index 95d2402493..c48c6124bc 100644 --- a/target/linux/brcm2708/patches-4.14/950-0354-drm-vc4-Advertise-supported-modifiers-for-planes.patch +++ b/target/linux/brcm2708/patches-4.14/950-0354-drm-vc4-Advertise-supported-modifiers-for-planes.patch @@ -33,7 +33,7 @@ Link: https://patchwork.freedesktop.org/patch/170828/ --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -868,6 +868,32 @@ out: +@@ -870,6 +870,32 @@ out: ctx); } @@ -66,7 +66,7 @@ Link: https://patchwork.freedesktop.org/patch/170828/ static const struct drm_plane_funcs vc4_plane_funcs = { .update_plane = vc4_update_plane, .disable_plane = drm_atomic_helper_disable_plane, -@@ -876,6 +902,7 @@ static const struct drm_plane_funcs vc4_ +@@ -878,6 +904,7 @@ static const struct drm_plane_funcs vc4_ .reset = vc4_plane_reset, .atomic_duplicate_state = vc4_plane_duplicate_state, .atomic_destroy_state = vc4_plane_destroy_state, @@ -74,7 +74,7 @@ Link: https://patchwork.freedesktop.org/patch/170828/ }; struct drm_plane *vc4_plane_init(struct drm_device *dev, -@@ -887,6 +914,11 @@ struct drm_plane *vc4_plane_init(struct +@@ -889,6 +916,11 @@ struct drm_plane *vc4_plane_init(struct u32 num_formats = 0; int ret = 0; unsigned i; @@ -86,7 +86,7 @@ Link: https://patchwork.freedesktop.org/patch/170828/ vc4_plane = devm_kzalloc(dev->dev, sizeof(*vc4_plane), GFP_KERNEL); -@@ -907,7 +939,7 @@ struct drm_plane *vc4_plane_init(struct +@@ -909,7 +941,7 @@ struct drm_plane *vc4_plane_init(struct ret = drm_universal_plane_init(dev, plane, 0, &vc4_plane_funcs, formats, num_formats, diff --git a/target/linux/brcm2708/patches-4.14/950-0356-drm-vc4-Add-missing-formats-to-vc4_format_mod_suppor.patch b/target/linux/brcm2708/patches-4.14/950-0356-drm-vc4-Add-missing-formats-to-vc4_format_mod_suppor.patch index 4bed2925a7..36337d1fbf 100644 --- a/target/linux/brcm2708/patches-4.14/950-0356-drm-vc4-Add-missing-formats-to-vc4_format_mod_suppor.patch +++ b/target/linux/brcm2708/patches-4.14/950-0356-drm-vc4-Add-missing-formats-to-vc4_format_mod_suppor.patch @@ -21,7 +21,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-2-eric@ --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -888,7 +888,9 @@ static bool vc4_format_mod_supported(str +@@ -890,7 +890,9 @@ static bool vc4_format_mod_supported(str case DRM_FORMAT_YUV420: case DRM_FORMAT_YVU420: case DRM_FORMAT_NV12: diff --git a/target/linux/brcm2708/patches-4.14/950-0357-drm-vc4-Add-support-for-SAND-modifier.patch b/target/linux/brcm2708/patches-4.14/950-0357-drm-vc4-Add-support-for-SAND-modifier.patch index fbe7261601..b4ab22c884 100644 --- a/target/linux/brcm2708/patches-4.14/950-0357-drm-vc4-Add-support-for-SAND-modifier.patch +++ b/target/linux/brcm2708/patches-4.14/950-0357-drm-vc4-Add-support-for-SAND-modifier.patch @@ -32,7 +32,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c -@@ -467,11 +467,13 @@ static int vc4_plane_mode_set(struct drm +@@ -469,11 +469,13 @@ static int vc4_plane_mode_set(struct drm struct drm_framebuffer *fb = state->fb; u32 ctl0_offset = vc4_state->dlist_count; const struct hvs_format *format = vc4_get_hvs_format(fb->format->format); @@ -46,7 +46,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ int ret, i; ret = vc4_plane_setup_clipping_and_scaling(state); -@@ -511,7 +513,7 @@ static int vc4_plane_mode_set(struct drm +@@ -513,7 +515,7 @@ static int vc4_plane_mode_set(struct drm scl1 = vc4_get_scl_field(state, 0); } @@ -55,7 +55,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ case DRM_FORMAT_MOD_LINEAR: tiling = SCALER_CTL0_TILING_LINEAR; pitch0 = VC4_SET_FIELD(fb->pitches[0], SCALER_SRC_PITCH); -@@ -534,6 +536,49 @@ static int vc4_plane_mode_set(struct drm +@@ -536,6 +538,49 @@ static int vc4_plane_mode_set(struct drm break; } @@ -105,7 +105,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ default: DRM_DEBUG_KMS("Unsupported FB tiling flag 0x%16llx", (long long)fb->modifier); -@@ -544,7 +589,7 @@ static int vc4_plane_mode_set(struct drm +@@ -546,7 +591,7 @@ static int vc4_plane_mode_set(struct drm vc4_dlist_write(vc4_state, SCALER_CTL0_VALID | (format->pixel_order << SCALER_CTL0_ORDER_SHIFT) | @@ -114,7 +114,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ VC4_SET_FIELD(tiling, SCALER_CTL0_TILING) | (vc4_state->is_unity ? SCALER_CTL0_UNITY : 0) | VC4_SET_FIELD(scl0, SCALER_CTL0_SCL0) | -@@ -598,8 +643,13 @@ static int vc4_plane_mode_set(struct drm +@@ -600,8 +645,13 @@ static int vc4_plane_mode_set(struct drm /* Pitch word 1/2 */ for (i = 1; i < num_planes; i++) { @@ -130,7 +130,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ } /* Colorspace conversion words */ -@@ -882,13 +932,30 @@ static bool vc4_format_mod_supported(str +@@ -884,13 +934,30 @@ static bool vc4_format_mod_supported(str case DRM_FORMAT_BGR565: case DRM_FORMAT_ARGB1555: case DRM_FORMAT_XRGB1555: @@ -164,7 +164,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20180316220435.31416-3-eric@ case DRM_FORMAT_NV16: case DRM_FORMAT_NV61: default: -@@ -918,6 +985,9 @@ struct drm_plane *vc4_plane_init(struct +@@ -920,6 +987,9 @@ struct drm_plane *vc4_plane_init(struct unsigned i; static const uint64_t modifiers[] = { DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED, diff --git a/target/linux/brcm2708/patches-4.14/950-0434-mmc-bcm2835-Recover-from-MMC_SEND_EXT_CSD.patch b/target/linux/brcm2708/patches-4.14/950-0434-mmc-bcm2835-Recover-from-MMC_SEND_EXT_CSD.patch deleted file mode 100644 index 9a9e811038..0000000000 --- a/target/linux/brcm2708/patches-4.14/950-0434-mmc-bcm2835-Recover-from-MMC_SEND_EXT_CSD.patch +++ /dev/null @@ -1,50 +0,0 @@ -From c2eae29f6503cf29ac6a204c51132cfed33d203e Mon Sep 17 00:00:00 2001 -From: Phil Elwell <phil@raspberrypi.org> -Date: Fri, 26 Oct 2018 17:40:44 +0100 -Subject: [PATCH 434/454] mmc/bcm2835: Recover from MMC_SEND_EXT_CSD - -If the user issues an "mmc extcsd read", the SD controller receives -what it thinks is a SEND_IF_COND command with an unexpected data block. -The resulting operations leave the FSM stuck in READWAIT, a state which -persists until the MMC framework resets the controller, by which point -the root filesystem is likely to have been unmounted. - -A less heavyweight solution is to detect the condition and nudge the -FSM by asserting the (self-clearing) FORCE_DATA_MODE bit. - -N.B. This workaround was essentially discovered by accident and without -a full understanding the inner workings of the controller, so it is -fortunate that the "fix" only modifies error paths. - -See: https://github.com/raspberrypi/linux/issues/2728 - -Signed-off-by: Phil Elwell <phil@raspberrypi.org> ---- - drivers/mmc/host/bcm2835.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - ---- a/drivers/mmc/host/bcm2835.c -+++ b/drivers/mmc/host/bcm2835.c -@@ -772,6 +772,8 @@ static void bcm2835_finish_command(struc - - if (!(sdhsts & SDHSTS_CRC7_ERROR) || - (host->cmd->opcode != MMC_SEND_OP_COND)) { -+ u32 edm, fsm; -+ - if (sdhsts & SDHSTS_CMD_TIME_OUT) { - host->cmd->error = -ETIMEDOUT; - } else { -@@ -780,6 +782,13 @@ static void bcm2835_finish_command(struc - bcm2835_dumpregs(host); - host->cmd->error = -EILSEQ; - } -+ edm = readl(host->ioaddr + SDEDM); -+ fsm = edm & SDEDM_FSM_MASK; -+ if (fsm == SDEDM_FSM_READWAIT || -+ fsm == SDEDM_FSM_WRITESTART1) -+ /* Kick the FSM out of its wait */ -+ writel(edm | SDEDM_FORCE_DATA_MODE, -+ host->ioaddr + SDEDM); - bcm2835_finish_request(host); - return; - } |