device/linux-nokia-n9: update kernel to v4.17-rc4 (#1486)

This commit is contained in:
Filip Matijević 2018-05-12 20:31:44 +02:00 committed by Oliver Smith
parent 49756113c3
commit 948a46c3c1
13 changed files with 138 additions and 142 deletions

View file

@ -1,6 +1,6 @@
pkgname=device-nokia-n9 pkgname=device-nokia-n9
pkgver=1 pkgver=1
pkgrel=5 pkgrel=6
pkgdesc="Nokia N9" pkgdesc="Nokia N9"
url="https://github.com/postmarketOS" url="https://github.com/postmarketOS"
arch="noarch" arch="noarch"

View file

@ -1,4 +1,4 @@
From 2c62ef61b0361f6850140832b35bc4f400b9ccfe Mon Sep 17 00:00:00 2001 From c134a2d3ff1b6cf075b8ba27136087773029513a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 10 Feb 2018 20:33:59 +0100 Date: Sat, 10 Feb 2018 20:33:59 +0100
Subject: [PATCH 01/11] SREv2 Subject: [PATCH 01/11] SREv2
@ -10,20 +10,20 @@ Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
--- ---
.../bindings/display/panel/panel-common.txt | 12 ++ .../bindings/display/panel/panel-common.txt | 12 ++
arch/arm/boot/dts/omap4-droid4-xt894.dts | 3 + arch/arm/boot/dts/omap4-droid4-xt894.dts | 3 +
drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c | 13 ++ .../gpu/drm/omapdrm/displays/panel-dsi-cm.c | 13 ++
drivers/gpu/drm/omapdrm/dss/dispc.c | 36 ++++- drivers/gpu/drm/omapdrm/dss/dispc.c | 37 ++++-
drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 + drivers/gpu/drm/omapdrm/dss/omapdss.h | 2 +
drivers/gpu/drm/omapdrm/omap_connector.c | 18 ++- drivers/gpu/drm/omapdrm/omap_connector.c | 18 ++-
drivers/gpu/drm/omapdrm/omap_connector.h | 1 + drivers/gpu/drm/omapdrm/omap_connector.h | 1 +
drivers/gpu/drm/omapdrm/omap_crtc.c | 158 +++++++++++++++++++-- drivers/gpu/drm/omapdrm/omap_crtc.c | 153 +++++++++++++++++-
drivers/gpu/drm/omapdrm/omap_crtc.h | 2 + drivers/gpu/drm/omapdrm/omap_crtc.h | 2 +
drivers/gpu/drm/omapdrm/omap_fb.c | 20 +++ drivers/gpu/drm/omapdrm/omap_fb.c | 20 +++
drivers/gpu/drm/omapdrm/omap_irq.c | 24 ++++ drivers/gpu/drm/omapdrm/omap_irq.c | 24 +++
drivers/gpu/drm/omapdrm/omap_irq.h | 1 + drivers/gpu/drm/omapdrm/omap_irq.h | 1 +
12 files changed, 280 insertions(+), 10 deletions(-) 12 files changed, 277 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.txt b/Documentation/devicetree/bindings/display/panel/panel-common.txt diff --git a/Documentation/devicetree/bindings/display/panel/panel-common.txt b/Documentation/devicetree/bindings/display/panel/panel-common.txt
index 557fa765adcb..c646b8908458 100644 index 5d2519af4bb5..149af74082ba 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-common.txt --- a/Documentation/devicetree/bindings/display/panel/panel-common.txt
+++ b/Documentation/devicetree/bindings/display/panel/panel-common.txt +++ b/Documentation/devicetree/bindings/display/panel/panel-common.txt
@@ -18,6 +18,18 @@ Descriptive Properties @@ -18,6 +18,18 @@ Descriptive Properties
@ -46,7 +46,7 @@ index 557fa765adcb..c646b8908458 100644
string suitable for use by humans. It typically contains a name inscribed on string suitable for use by humans. It typically contains a name inscribed on
the system (e.g. as an affixed label) or specified in the system's the system (e.g. as an affixed label) or specified in the system's
diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts
index b21084da490b..e11a24397163 100644 index bdf73cbcec3a..42885e7b053c 100644
--- a/arch/arm/boot/dts/omap4-droid4-xt894.dts --- a/arch/arm/boot/dts/omap4-droid4-xt894.dts
+++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts +++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
@ -57,7 +57,7 @@ index b21084da490b..e11a24397163 100644
#include "omap443x.dtsi" #include "omap443x.dtsi"
#include "motorola-cpcap-mapphone.dtsi" #include "motorola-cpcap-mapphone.dtsi"
@@ -181,6 +182,8 @@ @@ -216,6 +217,8 @@
height-mm = <89>; height-mm = <89>;
backlight = <&lcd_backlight>; backlight = <&lcd_backlight>;
@ -67,7 +67,7 @@ index b21084da490b..e11a24397163 100644
clock-frequency = <0>; /* Calculated by dsi */ clock-frequency = <0>; /* Calculated by dsi */
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 15399a1a666b..7a63d6775a27 100644 index 428de90fced1..d096185683cb 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -68,6 +68,7 @@ struct panel_drv_data { @@ -68,6 +68,7 @@ struct panel_drv_data {
@ -78,7 +78,7 @@ index 15399a1a666b..7a63d6775a27 100644
struct omap_dsi_pin_config pin_config; struct omap_dsi_pin_config pin_config;
@@ -1198,6 +1199,14 @@ static void dsicm_get_size(struct omap_dss_device *dssdev, @@ -1210,6 +1211,14 @@ static void dsicm_get_size(struct omap_dss_device *dssdev,
*height = ddata->height_mm; *height = ddata->height_mm;
} }
@ -93,7 +93,7 @@ index 15399a1a666b..7a63d6775a27 100644
static struct omap_dss_driver dsicm_ops = { static struct omap_dss_driver dsicm_ops = {
.connect = dsicm_connect, .connect = dsicm_connect,
.disconnect = dsicm_disconnect, .disconnect = dsicm_disconnect,
@@ -1211,6 +1220,7 @@ static struct omap_dss_driver dsicm_ops = { @@ -1223,6 +1232,7 @@ static struct omap_dss_driver dsicm_ops = {
.get_timings = dsicm_get_timings, .get_timings = dsicm_get_timings,
.check_timings = dsicm_check_timings, .check_timings = dsicm_check_timings,
.get_size = dsicm_get_size, .get_size = dsicm_get_size,
@ -101,21 +101,21 @@ index 15399a1a666b..7a63d6775a27 100644
.enable_te = dsicm_enable_te, .enable_te = dsicm_enable_te,
.get_te = dsicm_get_te, .get_te = dsicm_get_te,
@@ -1259,6 +1269,9 @@ static int dsicm_probe_of(struct platform_device *pdev) @@ -1270,6 +1280,9 @@ static int dsicm_probe_of(struct platform_device *pdev)
ddata->height_mm = 0; ddata->height_mm = 0;
of_property_read_u32(node, "height-mm", &ddata->height_mm); of_property_read_u32(node, "height-mm", &ddata->height_mm);
+ ddata->orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; + ddata->orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+ of_property_read_u32(node, "orientation", &ddata->orientation); + of_property_read_u32(node, "orientation", &ddata->orientation);
+ +
in = omapdss_of_find_source_for_first_ep(node); ddata->vpnl = devm_regulator_get_optional(&pdev->dev, "vpnl");
if (IS_ERR(in)) { if (IS_ERR(ddata->vpnl)) {
dev_err(&pdev->dev, "failed to find video source\n"); err = PTR_ERR(ddata->vpnl);
diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c diff --git a/drivers/gpu/drm/omapdrm/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
index 4e8f68efd169..0904c3201914 100644 index 7f3ac6b13b56..842941930dfa 100644
--- a/drivers/gpu/drm/omapdrm/dss/dispc.c --- a/drivers/gpu/drm/omapdrm/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c +++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -157,6 +157,8 @@ struct dispc_features { @@ -161,6 +161,8 @@ struct dispc_features {
bool has_gamma_table:1; bool has_gamma_table:1;
bool has_gamma_i734_bug:1; bool has_gamma_i734_bug:1;
@ -124,26 +124,27 @@ index 4e8f68efd169..0904c3201914 100644
}; };
#define DISPC_MAX_NR_FIFOS 5 #define DISPC_MAX_NR_FIFOS 5
@@ -1489,6 +1491,18 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane_id plane, @@ -1593,6 +1595,19 @@ static void dispc_ovl_set_mflag(struct dispc_device *dispc,
} REG_FLD_MOD(dispc, DISPC_OVL_ATTRIBUTES(plane), enable, bit, bit);
} }
+static void dispc_ovl_set_manual_fifo_threshold(enum omap_plane_id plane) +static void dispc_ovl_set_manual_fifo_threshold(struct dispc_device *dispc,
+ enum omap_plane_id plane)
+{ +{
+ u32 fifo_low, fifo_high; + u32 fifo_low, fifo_high;
+ bool use_fifo_merge = false; + bool use_fifo_merge = false;
+ bool use_manual_update = true; + bool use_manual_update = true;
+ +
+ dispc_ovl_compute_fifo_thresholds(plane, &fifo_low, &fifo_high, + dispc_ovl_compute_fifo_thresholds(dispc, plane, &fifo_low, &fifo_high,
+ use_fifo_merge, use_manual_update); + use_fifo_merge, use_manual_update);
+ +
+ dispc_ovl_set_fifo_threshold(plane, fifo_low, fifo_high); + dispc_ovl_set_fifo_threshold(dispc, plane, fifo_low, fifo_high);
+} +}
+ +
static void dispc_ovl_set_mflag(enum omap_plane_id plane, bool enable) static void dispc_ovl_set_mflag_threshold(struct dispc_device *dispc,
{ enum omap_plane_id plane,
int bit; int low, int high)
@@ -2651,8 +2665,21 @@ static int dispc_ovl_setup(enum omap_plane_id plane, @@ -2802,8 +2817,21 @@ static int dispc_ovl_setup(struct dispc_device *dispc,
oi->out_width, oi->out_height, oi->fourcc, oi->rotation, oi->out_width, oi->out_height, oi->fourcc, oi->rotation,
oi->zorder, oi->pre_mult_alpha, oi->global_alpha, oi->zorder, oi->pre_mult_alpha, oi->global_alpha,
oi->rotation_type, replication, vm, mem_to_mem); oi->rotation_type, replication, vm, mem_to_mem);
@ -156,17 +157,17 @@ index 4e8f68efd169..0904c3201914 100644
+ * displays. The issue is not fully understood, but this workaround + * displays. The issue is not fully understood, but this workaround
+ * fixes the issue. OMAP4 is known to work with default thresholds. + * fixes the issue. OMAP4 is known to work with default thresholds.
+ */ + */
+ if (mgr_fld_read(channel, DISPC_MGR_FLD_STALLMODE) && + if (mgr_fld_read(dispc, channel, DISPC_MGR_FLD_STALLMODE) &&
+ dispc.feat->has_fifo_stallmode_bug) { + dispc->feat->has_fifo_stallmode_bug) {
+ DSSDBG("Enable OMAP3 FIFO stallmode bug workaround!\n"); + DSSDBG("Enable OMAP3 FIFO stallmode bug workaround!\n");
+ dispc_ovl_set_manual_fifo_threshold(plane); + dispc_ovl_set_manual_fifo_threshold(dispc, plane);
+ } + }
+ +
+ return 0; + return 0;
} }
int dispc_wb_setup(const struct omap_dss_writeback_info *wi, static int dispc_wb_setup(struct dispc_device *dispc,
@@ -4067,6 +4094,7 @@ static const struct dispc_features omap24xx_dispc_feats = { @@ -4286,6 +4314,7 @@ static const struct dispc_features omap24xx_dispc_feats = {
.no_framedone_tv = true, .no_framedone_tv = true,
.set_max_preload = false, .set_max_preload = false,
.last_pixel_inc_missing = true, .last_pixel_inc_missing = true,
@ -174,7 +175,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features omap34xx_rev1_0_dispc_feats = { static const struct dispc_features omap34xx_rev1_0_dispc_feats = {
@@ -4101,6 +4129,7 @@ static const struct dispc_features omap34xx_rev1_0_dispc_feats = { @@ -4320,6 +4349,7 @@ static const struct dispc_features omap34xx_rev1_0_dispc_feats = {
.no_framedone_tv = true, .no_framedone_tv = true,
.set_max_preload = false, .set_max_preload = false,
.last_pixel_inc_missing = true, .last_pixel_inc_missing = true,
@ -182,7 +183,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features omap34xx_rev3_0_dispc_feats = { static const struct dispc_features omap34xx_rev3_0_dispc_feats = {
@@ -4135,6 +4164,7 @@ static const struct dispc_features omap34xx_rev3_0_dispc_feats = { @@ -4354,6 +4384,7 @@ static const struct dispc_features omap34xx_rev3_0_dispc_feats = {
.no_framedone_tv = true, .no_framedone_tv = true,
.set_max_preload = false, .set_max_preload = false,
.last_pixel_inc_missing = true, .last_pixel_inc_missing = true,
@ -190,7 +191,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features omap36xx_dispc_feats = { static const struct dispc_features omap36xx_dispc_feats = {
@@ -4169,6 +4199,7 @@ static const struct dispc_features omap36xx_dispc_feats = { @@ -4388,6 +4419,7 @@ static const struct dispc_features omap36xx_dispc_feats = {
.no_framedone_tv = true, .no_framedone_tv = true,
.set_max_preload = false, .set_max_preload = false,
.last_pixel_inc_missing = true, .last_pixel_inc_missing = true,
@ -198,7 +199,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features am43xx_dispc_feats = { static const struct dispc_features am43xx_dispc_feats = {
@@ -4203,6 +4234,7 @@ static const struct dispc_features am43xx_dispc_feats = { @@ -4422,6 +4454,7 @@ static const struct dispc_features am43xx_dispc_feats = {
.no_framedone_tv = true, .no_framedone_tv = true,
.set_max_preload = false, .set_max_preload = false,
.last_pixel_inc_missing = true, .last_pixel_inc_missing = true,
@ -206,7 +207,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features omap44xx_dispc_feats = { static const struct dispc_features omap44xx_dispc_feats = {
@@ -4242,6 +4274,7 @@ static const struct dispc_features omap44xx_dispc_feats = { @@ -4461,6 +4494,7 @@ static const struct dispc_features omap44xx_dispc_feats = {
.reverse_ilace_field_order = true, .reverse_ilace_field_order = true,
.has_gamma_table = true, .has_gamma_table = true,
.has_gamma_i734_bug = true, .has_gamma_i734_bug = true,
@ -214,7 +215,7 @@ index 4e8f68efd169..0904c3201914 100644
}; };
static const struct dispc_features omap54xx_dispc_feats = { static const struct dispc_features omap54xx_dispc_feats = {
@@ -4282,6 +4315,7 @@ static const struct dispc_features omap54xx_dispc_feats = { @@ -4501,6 +4535,7 @@ static const struct dispc_features omap54xx_dispc_feats = {
.reverse_ilace_field_order = true, .reverse_ilace_field_order = true,
.has_gamma_table = true, .has_gamma_table = true,
.has_gamma_i734_bug = true, .has_gamma_i734_bug = true,
@ -223,10 +224,10 @@ index 4e8f68efd169..0904c3201914 100644
static irqreturn_t dispc_irq_handler(int irq, void *arg) static irqreturn_t dispc_irq_handler(int irq, void *arg)
diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss.h b/drivers/gpu/drm/omapdrm/dss/omapdss.h
index f8f83e826a56..72ebd82409d3 100644 index 14d74adb13fb..0d3b0143a65e 100644
--- a/drivers/gpu/drm/omapdrm/dss/omapdss.h --- a/drivers/gpu/drm/omapdrm/dss/omapdss.h
+++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h +++ b/drivers/gpu/drm/omapdrm/dss/omapdss.h
@@ -565,6 +565,8 @@ struct omap_dss_driver { @@ -554,6 +554,8 @@ struct omap_dss_driver {
struct videomode *vm); struct videomode *vm);
void (*get_size)(struct omap_dss_device *dssdev, void (*get_size)(struct omap_dss_device *dssdev,
unsigned int *width, unsigned int *height); unsigned int *width, unsigned int *height);
@ -236,7 +237,7 @@ index f8f83e826a56..72ebd82409d3 100644
int (*set_wss)(struct omap_dss_device *dssdev, u32 wss); int (*set_wss)(struct omap_dss_device *dssdev, u32 wss);
u32 (*get_wss)(struct omap_dss_device *dssdev); u32 (*get_wss)(struct omap_dss_device *dssdev);
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
index a0d7b1d905e8..2f296d29b74b 100644 index 5cde26ac937b..d936be1f071e 100644
--- a/drivers/gpu/drm/omapdrm/omap_connector.c --- a/drivers/gpu/drm/omapdrm/omap_connector.c
+++ b/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c
@@ -57,6 +57,14 @@ bool omap_connector_get_hdmi_mode(struct drm_connector *connector) @@ -57,6 +57,14 @@ bool omap_connector_get_hdmi_mode(struct drm_connector *connector)
@ -254,7 +255,7 @@ index a0d7b1d905e8..2f296d29b74b 100644
static enum drm_connector_status omap_connector_detect( static enum drm_connector_status omap_connector_detect(
struct drm_connector *connector, bool force) struct drm_connector *connector, bool force)
{ {
@@ -241,6 +249,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev, @@ -251,6 +259,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev,
struct drm_connector *connector = NULL; struct drm_connector *connector = NULL;
struct omap_connector *omap_connector; struct omap_connector *omap_connector;
bool hpd_supported = false; bool hpd_supported = false;
@ -262,7 +263,7 @@ index a0d7b1d905e8..2f296d29b74b 100644
DBG("%s", dssdev->name); DBG("%s", dssdev->name);
@@ -259,7 +268,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev, @@ -269,7 +278,7 @@ struct drm_connector *omap_connector_init(struct drm_device *dev,
drm_connector_helper_add(connector, &omap_connector_helper_funcs); drm_connector_helper_add(connector, &omap_connector_helper_funcs);
if (dssdev->driver->register_hpd_cb) { if (dssdev->driver->register_hpd_cb) {
@ -271,7 +272,7 @@ index a0d7b1d905e8..2f296d29b74b 100644
omap_connector_hpd_cb, omap_connector_hpd_cb,
omap_connector); omap_connector);
if (!ret) if (!ret)
@@ -280,6 +289,13 @@ struct drm_connector *omap_connector_init(struct drm_device *dev, @@ -290,6 +299,13 @@ struct drm_connector *omap_connector_init(struct drm_device *dev,
connector->interlace_allowed = 1; connector->interlace_allowed = 1;
connector->doublescan_allowed = 0; connector->doublescan_allowed = 0;
@ -297,7 +298,7 @@ index 98bbc779b302..652136d167f5 100644
#endif /* __OMAPDRM_CONNECTOR_H__ */ #endif /* __OMAPDRM_CONNECTOR_H__ */
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c b/drivers/gpu/drm/omapdrm/omap_crtc.c
index 1b8154e58d18..c2defb514b9f 100644 index 6c4d40b824e4..df746a33756f 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.c --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.c +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
@@ -51,6 +51,10 @@ struct omap_crtc { @@ -51,6 +51,10 @@ struct omap_crtc {
@ -311,14 +312,11 @@ index 1b8154e58d18..c2defb514b9f 100644
}; };
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
@@ -139,6 +143,28 @@ static void omap_crtc_dss_disconnect(enum omap_channel channel, @@ -143,6 +147,25 @@ static void omap_crtc_dss_disconnect(struct omap_drm_private *priv,
static void omap_crtc_dss_start_update(struct omap_drm_private *priv,
static void omap_crtc_dss_start_update(enum omap_channel channel) enum omap_channel channel)
{ {
+ struct omap_crtc *omap_crtc = omap_crtcs[channel]; + priv->dispc_ops->mgr_enable(priv->dispc, channel, true);
+ struct omap_drm_private *priv = omap_crtc->base.dev->dev_private;
+
+ priv->dispc_ops->mgr_enable(channel, true);
+} +}
+ +
+static bool omap_crtc_is_manually_updated(struct drm_crtc *crtc) +static bool omap_crtc_is_manually_updated(struct drm_crtc *crtc)
@ -340,35 +338,32 @@ index 1b8154e58d18..c2defb514b9f 100644
} }
/* Called only from the encoder enable/disable and suspend/resume handlers. */ /* Called only from the encoder enable/disable and suspend/resume handlers. */
@@ -150,12 +176,17 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable) @@ -154,11 +177,15 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable)
enum omap_channel channel = omap_crtc->channel; enum omap_channel channel = omap_crtc->channel;
struct omap_irq_wait *wait; struct omap_irq_wait *wait;
u32 framedone_irq, vsync_irq; u32 framedone_irq, vsync_irq;
+ bool is_manual = omap_crtc_is_manually_updated(crtc); + bool is_manual = omap_crtc_is_manually_updated(crtc);
+ enum omap_display_type type = omap_crtc_output[channel]->output_type;
int ret; int ret;
if (WARN_ON(omap_crtc->enabled == enable)) if (WARN_ON(omap_crtc->enabled == enable))
return; return;
- if (omap_crtc_output[channel]->output_type == OMAP_DISPLAY_TYPE_HDMI) {
+ if (is_manual) + if (is_manual)
+ omap_irq_enable_framedone(crtc, enable); + omap_irq_enable_framedone(crtc, enable);
+ +
+ if (is_manual || type == OMAP_DISPLAY_TYPE_HDMI) { if (omap_crtc_output[channel]->output_type == OMAP_DISPLAY_TYPE_HDMI) {
priv->dispc_ops->mgr_enable(channel, enable); priv->dispc_ops->mgr_enable(priv->dispc, channel, enable);
omap_crtc->enabled = enable; omap_crtc->enabled = enable;
return; @@ -211,7 +238,6 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable)
@@ -206,7 +237,6 @@ static void omap_crtc_set_enabled(struct drm_crtc *crtc, bool enable)
} }
} }
- -
static int omap_crtc_dss_enable(enum omap_channel channel) static int omap_crtc_dss_enable(struct omap_drm_private *priv,
enum omap_channel channel)
{ {
struct omap_crtc *omap_crtc = omap_crtcs[channel]; @@ -256,6 +282,17 @@ static int omap_crtc_dss_register_framedone(
@@ -247,6 +277,17 @@ static int omap_crtc_dss_register_framedone( struct omap_drm_private *priv, enum omap_channel channel,
enum omap_channel channel,
void (*handler)(void *), void *data) void (*handler)(void *), void *data)
{ {
+ struct omap_crtc *omap_crtc = omap_crtcs[channel]; + struct omap_crtc *omap_crtc = omap_crtcs[channel];
@ -385,8 +380,8 @@ index 1b8154e58d18..c2defb514b9f 100644
return 0; return 0;
} }
@@ -254,6 +295,16 @@ static void omap_crtc_dss_unregister_framedone( @@ -263,6 +300,16 @@ static void omap_crtc_dss_unregister_framedone(
enum omap_channel channel, struct omap_drm_private *priv, enum omap_channel channel,
void (*handler)(void *), void *data) void (*handler)(void *), void *data)
{ {
+ struct omap_crtc *omap_crtc = omap_crtcs[channel]; + struct omap_crtc *omap_crtc = omap_crtcs[channel];
@ -402,7 +397,7 @@ index 1b8154e58d18..c2defb514b9f 100644
} }
static const struct dss_mgr_ops mgr_ops = { static const struct dss_mgr_ops mgr_ops = {
@@ -321,6 +372,77 @@ void omap_crtc_vblank_irq(struct drm_crtc *crtc) @@ -330,6 +377,77 @@ void omap_crtc_vblank_irq(struct drm_crtc *crtc)
DBG("%s: apply done", omap_crtc->name); DBG("%s: apply done", omap_crtc->name);
} }
@ -480,7 +475,7 @@ index 1b8154e58d18..c2defb514b9f 100644
static void omap_crtc_write_crtc_properties(struct drm_crtc *crtc) static void omap_crtc_write_crtc_properties(struct drm_crtc *crtc)
{ {
struct omap_drm_private *priv = crtc->dev->dev_private; struct omap_drm_private *priv = crtc->dev->dev_private;
@@ -373,6 +495,10 @@ static void omap_crtc_atomic_enable(struct drm_crtc *crtc, @@ -382,6 +500,10 @@ static void omap_crtc_atomic_enable(struct drm_crtc *crtc,
DBG("%s", omap_crtc->name); DBG("%s", omap_crtc->name);
@ -491,7 +486,7 @@ index 1b8154e58d18..c2defb514b9f 100644
spin_lock_irq(&crtc->dev->event_lock); spin_lock_irq(&crtc->dev->event_lock);
drm_crtc_vblank_on(crtc); drm_crtc_vblank_on(crtc);
ret = drm_crtc_vblank_get(crtc); ret = drm_crtc_vblank_get(crtc);
@@ -386,6 +512,7 @@ static void omap_crtc_atomic_disable(struct drm_crtc *crtc, @@ -395,6 +517,7 @@ static void omap_crtc_atomic_disable(struct drm_crtc *crtc,
struct drm_crtc_state *old_state) struct drm_crtc_state *old_state)
{ {
struct omap_crtc *omap_crtc = to_omap_crtc(crtc); struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
@ -499,7 +494,7 @@ index 1b8154e58d18..c2defb514b9f 100644
DBG("%s", omap_crtc->name); DBG("%s", omap_crtc->name);
@@ -396,6 +523,11 @@ static void omap_crtc_atomic_disable(struct drm_crtc *crtc, @@ -405,6 +528,11 @@ static void omap_crtc_atomic_disable(struct drm_crtc *crtc,
} }
spin_unlock_irq(&crtc->dev->event_lock); spin_unlock_irq(&crtc->dev->event_lock);
@ -511,7 +506,7 @@ index 1b8154e58d18..c2defb514b9f 100644
drm_crtc_vblank_off(crtc); drm_crtc_vblank_off(crtc);
} }
@@ -545,13 +677,20 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, @@ -555,13 +683,21 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc,
DBG("%s: GO", omap_crtc->name); DBG("%s: GO", omap_crtc->name);
@ -522,13 +517,14 @@ index 1b8154e58d18..c2defb514b9f 100644
+ WARN_ON(ret != 0); + WARN_ON(ret != 0);
- spin_lock_irq(&crtc->dev->event_lock); - spin_lock_irq(&crtc->dev->event_lock);
- priv->dispc_ops->mgr_go(omap_crtc->channel); - priv->dispc_ops->mgr_go(priv->dispc, omap_crtc->channel);
- omap_crtc_arm_event(crtc); - omap_crtc_arm_event(crtc);
- spin_unlock_irq(&crtc->dev->event_lock); - spin_unlock_irq(&crtc->dev->event_lock);
+ spin_lock_irq(&crtc->dev->event_lock); + spin_lock_irq(&crtc->dev->event_lock);
+ priv->dispc_ops->mgr_go(omap_crtc->channel); + priv->dispc_ops->mgr_go(priv->dispc, omap_crtc->channel);
+ omap_crtc_arm_event(crtc); + omap_crtc_arm_event(crtc);
+ spin_unlock_irq(&crtc->dev->event_lock); + spin_unlock_irq(&crtc->dev->event_lock);
+ spin_unlock_irq(&crtc->dev->event_lock);
+ } else { + } else {
+ spin_lock_irq(&crtc->dev->event_lock); + spin_lock_irq(&crtc->dev->event_lock);
+ omap_crtc_flush(crtc); + omap_crtc_flush(crtc);
@ -538,7 +534,7 @@ index 1b8154e58d18..c2defb514b9f 100644
} }
static int omap_crtc_atomic_set_property(struct drm_crtc *crtc, static int omap_crtc_atomic_set_property(struct drm_crtc *crtc,
@@ -713,6 +852,9 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev, @@ -723,6 +859,9 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
omap_crtc->channel = channel; omap_crtc->channel = channel;
omap_crtc->name = channel_names[channel]; omap_crtc->name = channel_names[channel];
@ -549,19 +545,19 @@ index 1b8154e58d18..c2defb514b9f 100644
&omap_crtc_funcs, NULL); &omap_crtc_funcs, NULL);
if (ret < 0) { if (ret < 0) {
diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.h b/drivers/gpu/drm/omapdrm/omap_crtc.h diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.h b/drivers/gpu/drm/omapdrm/omap_crtc.h
index ad7b007c6174..b61c94b34f04 100644 index eaab2d7f0324..300b6498d03e 100644
--- a/drivers/gpu/drm/omapdrm/omap_crtc.h --- a/drivers/gpu/drm/omapdrm/omap_crtc.h
+++ b/drivers/gpu/drm/omapdrm/omap_crtc.h +++ b/drivers/gpu/drm/omapdrm/omap_crtc.h
@@ -39,5 +39,7 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev, @@ -39,5 +39,7 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev,
int omap_crtc_wait_pending(struct drm_crtc *crtc); int omap_crtc_wait_pending(struct drm_crtc *crtc);
void omap_crtc_error_irq(struct drm_crtc *crtc, uint32_t irqstatus); void omap_crtc_error_irq(struct drm_crtc *crtc, u32 irqstatus);
void omap_crtc_vblank_irq(struct drm_crtc *crtc); void omap_crtc_vblank_irq(struct drm_crtc *crtc);
+void omap_crtc_framedone_irq(struct drm_crtc *crtc, uint32_t irqstatus); +void omap_crtc_framedone_irq(struct drm_crtc *crtc, uint32_t irqstatus);
+void omap_crtc_flush(struct drm_crtc *crtc); +void omap_crtc_flush(struct drm_crtc *crtc);
#endif /* __OMAPDRM_CRTC_H__ */ #endif /* __OMAPDRM_CRTC_H__ */
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c
index b2539a90e1a4..57b1767bef09 100644 index 5fd22ca73913..b65212c9a423 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c --- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c +++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -95,8 +95,28 @@ static void omap_framebuffer_destroy(struct drm_framebuffer *fb) @@ -95,8 +95,28 @@ static void omap_framebuffer_destroy(struct drm_framebuffer *fb)
@ -594,7 +590,7 @@ index b2539a90e1a4..57b1767bef09 100644
}; };
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c diff --git a/drivers/gpu/drm/omapdrm/omap_irq.c b/drivers/gpu/drm/omapdrm/omap_irq.c
index 53ba424823b2..354df3583229 100644 index c85115049f86..99de4b9d04a5 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.c --- a/drivers/gpu/drm/omapdrm/omap_irq.c
+++ b/drivers/gpu/drm/omapdrm/omap_irq.c +++ b/drivers/gpu/drm/omapdrm/omap_irq.c
@@ -85,6 +85,27 @@ int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, @@ -85,6 +85,27 @@ int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait,
@ -607,7 +603,7 @@ index 53ba424823b2..354df3583229 100644
+ struct omap_drm_private *priv = dev->dev_private; + struct omap_drm_private *priv = dev->dev_private;
+ unsigned long flags; + unsigned long flags;
+ enum omap_channel channel = omap_crtc_channel(crtc); + enum omap_channel channel = omap_crtc_channel(crtc);
+ int framedone_irq = priv->dispc_ops->mgr_get_framedone_irq(channel); + int framedone_irq = priv->dispc_ops->mgr_get_framedone_irq(priv->dispc, channel);
+ +
+ DBG("dev=%p, crtc=%u, enable=%d", dev, channel, enable); + DBG("dev=%p, crtc=%u, enable=%d", dev, channel, enable);
+ +
@ -625,18 +621,18 @@ index 53ba424823b2..354df3583229 100644
/** /**
* enable_vblank - enable vblank interrupt events * enable_vblank - enable vblank interrupt events
* @dev: DRM device * @dev: DRM device
@@ -215,6 +236,9 @@ static irqreturn_t omap_irq_handler(int irq, void *arg) @@ -217,6 +238,9 @@ static irqreturn_t omap_irq_handler(int irq, void *arg)
if (irqstatus & priv->dispc_ops->mgr_get_sync_lost_irq(channel)) if (irqstatus & priv->dispc_ops->mgr_get_sync_lost_irq(priv->dispc, channel))
omap_crtc_error_irq(crtc, irqstatus); omap_crtc_error_irq(crtc, irqstatus);
+ +
+ if (irqstatus & priv->dispc_ops->mgr_get_framedone_irq(channel)) + if (irqstatus & priv->dispc_ops->mgr_get_framedone_irq(priv->dispc, channel))
+ omap_crtc_framedone_irq(crtc, irqstatus); + omap_crtc_framedone_irq(crtc, irqstatus);
} }
omap_irq_ocp_error_handler(dev, irqstatus); omap_irq_ocp_error_handler(dev, irqstatus);
diff --git a/drivers/gpu/drm/omapdrm/omap_irq.h b/drivers/gpu/drm/omapdrm/omap_irq.h diff --git a/drivers/gpu/drm/omapdrm/omap_irq.h b/drivers/gpu/drm/omapdrm/omap_irq.h
index 606c09932bc0..69f4ff80a0e4 100644 index 9d5441468eca..02abb4ed9813 100644
--- a/drivers/gpu/drm/omapdrm/omap_irq.h --- a/drivers/gpu/drm/omapdrm/omap_irq.h
+++ b/drivers/gpu/drm/omapdrm/omap_irq.h +++ b/drivers/gpu/drm/omapdrm/omap_irq.h
@@ -27,6 +27,7 @@ struct drm_device; @@ -27,6 +27,7 @@ struct drm_device;
@ -648,5 +644,5 @@ index 606c09932bc0..69f4ff80a0e4 100644
void omap_drm_irq_uninstall(struct drm_device *dev); void omap_drm_irq_uninstall(struct drm_device *dev);
int omap_drm_irq_install(struct drm_device *dev); int omap_drm_irq_install(struct drm_device *dev);
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From b6faf8e49d3ce7b8b94d56a88e70926fb35de918 Mon Sep 17 00:00:00 2001 From 37f8d2282c0a8b5c12fd368b6d77e739f759df12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 28 Oct 2017 09:18:10 +0200 Date: Sat, 28 Oct 2017 09:18:10 +0200
Subject: [PATCH 02/11] drm: add/rename MIPI_DCS_SET_PARTIAL_XXX Subject: [PATCH 02/11] drm: add/rename MIPI_DCS_SET_PARTIAL_XXX
@ -29,5 +29,5 @@ index 19aa65a35546..1d9fdd685ded 100644
MIPI_DCS_SET_TEAR_OFF = 0x34, MIPI_DCS_SET_TEAR_OFF = 0x34,
MIPI_DCS_SET_TEAR_ON = 0x35, MIPI_DCS_SET_TEAR_ON = 0x35,
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From 013999e09d13087a9eb4922df3099f5e71035031 Mon Sep 17 00:00:00 2001 From 593a007e969e7d71725a05abf86636185cccfcc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 28 Oct 2017 14:39:23 +0200 Date: Sat, 28 Oct 2017 14:39:23 +0200
Subject: [PATCH 03/11] drm/omap: panel-dsi-cm: use defines from mipi_display.h Subject: [PATCH 03/11] drm/omap: panel-dsi-cm: use defines from mipi_display.h
@ -12,7 +12,7 @@ Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
1 file changed, 6 insertions(+), 6 deletions(-) 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 7a63d6775a27..418cf5dd2d69 100644 index d096185683cb..09ddbb001123 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -33,8 +33,6 @@ @@ -33,8 +33,6 @@
@ -48,7 +48,7 @@ index 7a63d6775a27..418cf5dd2d69 100644
(1<<2) | (1<<5)); /* BL | BCTRL */ (1<<2) | (1<<5)); /* BL | BCTRL */
if (r) if (r)
goto err; goto err;
@@ -1101,7 +1100,8 @@ static int dsicm_memory_read(struct omap_dss_device *dssdev, @@ -1113,7 +1112,8 @@ static int dsicm_memory_read(struct omap_dss_device *dssdev,
goto err2; goto err2;
while (buf_used < size) { while (buf_used < size) {
@ -59,5 +59,5 @@ index 7a63d6775a27..418cf5dd2d69 100644
r = in->ops.dsi->dcs_read(in, ddata->channel, dcs_cmd, r = in->ops.dsi->dcs_read(in, ddata->channel, dcs_cmd,
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From 3390d6d1009dc6cdd166638be4af242e4469bcd1 Mon Sep 17 00:00:00 2001 From 340566aad4693566b56ec6c81d46fdc130995b4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 28 Oct 2017 14:32:54 +0200 Date: Sat, 28 Oct 2017 14:32:54 +0200
Subject: [PATCH 04/11] ARM: dts: n9: add display support Subject: [PATCH 04/11] ARM: dts: n9: add display support
@ -10,11 +10,11 @@ Add basic panel support for the Nokia N9.
Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com> Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
--- ---
arch/arm/boot/dts/omap3-n9.dts | 91 ++++++++++++++++++++++++++++++++++++++++++ arch/arm/boot/dts/omap3-n9.dts | 91 ++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+) 1 file changed, 91 insertions(+)
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts
index e44d93fc644c..613ada9a982a 100644 index ded5fcf084eb..a966597cd53b 100644
--- a/arch/arm/boot/dts/omap3-n9.dts --- a/arch/arm/boot/dts/omap3-n9.dts
+++ b/arch/arm/boot/dts/omap3-n9.dts +++ b/arch/arm/boot/dts/omap3-n9.dts
@@ -18,6 +18,26 @@ @@ -18,6 +18,26 @@
@ -44,7 +44,7 @@ index e44d93fc644c..613ada9a982a 100644
&i2c2 { &i2c2 {
smia_1: camera@10 { smia_1: camera@10 {
compatible = "nokia,smia"; compatible = "nokia,smia";
@@ -79,3 +99,74 @@ @@ -86,3 +106,74 @@
MATRIX_KEY(7, 8, KEY_VOLUMEDOWN) MATRIX_KEY(7, 8, KEY_VOLUMEDOWN)
>; >;
}; };
@ -120,5 +120,5 @@ index e44d93fc644c..613ada9a982a 100644
+ }; + };
+}; +};
-- --
2.14.1 2.17.0

View file

@ -1,15 +1,15 @@
From 324c0340c85dee1a2ae3eb6c71bcd9e47c9f03f7 Mon Sep 17 00:00:00 2001 From 3a501b2c3c0507c8f560183ac79617fe975b8594 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Thu, 2 Nov 2017 18:46:21 +0100 Date: Thu, 2 Nov 2017 18:46:21 +0100
Subject: [PATCH 05/11] Revert "drm/omap: work-around for omap3 display enable" Subject: [PATCH 05/11] Revert "drm/omap: work-around for omap3 display enable"
This reverts commit fc5cc9678e130196012c17b37e555d53d3d3476b. This reverts commit fc5cc9678e130196012c17b37e555d53d3d3476b.
--- ---
drivers/gpu/drm/omapdrm/omap_drv.c | 47 ++++++++++++++------------------------ drivers/gpu/drm/omapdrm/omap_drv.c | 47 +++++++++++-------------------
1 file changed, 17 insertions(+), 30 deletions(-) 1 file changed, 17 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
index dd68b2556f5b..bc5b68ecd0f7 100644 index 3632854c2b91..54bc31679b27 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c --- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -74,36 +74,23 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state) @@ -74,36 +74,23 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
@ -67,5 +67,5 @@ index dd68b2556f5b..bc5b68ecd0f7 100644
/* /*
* Wait for completion of the page flips to ensure that old buffers * Wait for completion of the page flips to ensure that old buffers
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From 8087f305187140d20b7903ba7486f243a2d470d2 Mon Sep 17 00:00:00 2001 From aa5360534ba836cb5cee6a574c6aec2666ce2b3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Wed, 1 Nov 2017 18:25:45 +0100 Date: Wed, 1 Nov 2017 18:25:45 +0100
Subject: [PATCH 06/11] HACK: drm/omap: panel-dsi-cm: force 0xff for brigthness Subject: [PATCH 06/11] HACK: drm/omap: panel-dsi-cm: force 0xff for brigthness
@ -12,7 +12,7 @@ Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c diff --git a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
index 418cf5dd2d69..069fad8d89b2 100644 index 09ddbb001123..b77e4925941a 100644
--- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c --- a/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
@@ -375,6 +375,8 @@ static int dsicm_bl_update_status(struct backlight_device *dev) @@ -375,6 +375,8 @@ static int dsicm_bl_update_status(struct backlight_device *dev)
@ -25,5 +25,5 @@ index 418cf5dd2d69..069fad8d89b2 100644
mutex_lock(&ddata->lock); mutex_lock(&ddata->lock);
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From 15b1d44e2e17ace2ac229a062993e5b530208402 Mon Sep 17 00:00:00 2001 From 3866db63d94b39ca441e6d94b4f19ec8ce9bf996 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Mon, 13 Nov 2017 17:20:42 +0100 Date: Mon, 13 Nov 2017 17:20:42 +0100
Subject: [PATCH 07/11] ARM: dts: N9/N950: Add touchscreen support Subject: [PATCH 07/11] ARM: dts: N9/N950: Add touchscreen support
@ -66,5 +66,5 @@ index 0d9b85317529..219519812050 100644
&i2c3 { &i2c3 {
-- --
2.14.1 2.17.0

View file

@ -1,12 +1,12 @@
From aca9cbfc6f2bf8a3dc6b30d6b7e78e9790a9875f Mon Sep 17 00:00:00 2001 From ab93f4cf260cfbc993d9430753cd6aa69dcd37f1 Mon Sep 17 00:00:00 2001
From: filippz <filip.matijevic.pz@gmail.com> From: filippz <filip.matijevic.pz@gmail.com>
Date: Thu, 28 Dec 2017 06:57:45 +0100 Date: Thu, 28 Dec 2017 06:57:45 +0100
Subject: [PATCH 08/11] misc: apds990x: Add device tree support Subject: [PATCH 08/11] misc: apds990x: Add device tree support
Signed-off-by: filippz <filip.matijevic.pz@gmail.com> Signed-off-by: filippz <filip.matijevic.pz@gmail.com>
--- ---
.../devicetree/bindings/misc/avago-apds990x.txt | 41 +++++++++++ .../bindings/misc/avago-apds990x.txt | 41 +++++++++
drivers/misc/apds990x.c | 85 +++++++++++++++++++++- drivers/misc/apds990x.c | 85 ++++++++++++++++++-
2 files changed, 123 insertions(+), 3 deletions(-) 2 files changed, 123 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/misc/avago-apds990x.txt create mode 100644 Documentation/devicetree/bindings/misc/avago-apds990x.txt
@ -189,5 +189,5 @@ index ed9412d750b7..7bb9cd76110a 100644
}, },
.probe = apds990x_probe, .probe = apds990x_probe,
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From b8d6cddfec87f35e49d4bc54020e59a4c71dc31e Mon Sep 17 00:00:00 2001 From 2a57f7d84874c3b7ec1b6faf69e376bf75c18636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 10 Feb 2018 21:28:19 +0100 Date: Sat, 10 Feb 2018 21:28:19 +0100
Subject: [PATCH 09/11] misc: apds990x: convert to iio Subject: [PATCH 09/11] misc: apds990x: convert to iio
@ -8,7 +8,7 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com> Signed-off-by: Filip Matijević <filip.matijevic.pz@gmail.com>
--- ---
drivers/misc/apds990x.c | 959 +++++++++++++++++++++++++----------------------- drivers/misc/apds990x.c | 959 +++++++++++++++++++++-------------------
1 file changed, 493 insertions(+), 466 deletions(-) 1 file changed, 493 insertions(+), 466 deletions(-)
diff --git a/drivers/misc/apds990x.c b/drivers/misc/apds990x.c diff --git a/drivers/misc/apds990x.c b/drivers/misc/apds990x.c
@ -1281,5 +1281,5 @@ index 7bb9cd76110a..363a6bf85a6c 100644
MODULE_DESCRIPTION("APDS990X combined ALS and proximity sensor"); MODULE_DESCRIPTION("APDS990X combined ALS and proximity sensor");
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From ad23767da90b149a650ebb38a797056f81728507 Mon Sep 17 00:00:00 2001 From 01d2a3ad745746ae78f11b19c0c3a2fe893a6299 Mon Sep 17 00:00:00 2001
From: filippz <filip.matijevic.pz@gmail.com> From: filippz <filip.matijevic.pz@gmail.com>
Date: Thu, 28 Dec 2017 07:00:11 +0100 Date: Thu, 28 Dec 2017 07:00:11 +0100
Subject: [PATCH 10/11] ARM: dts: N9: Add support for apds990x ALS/PS Subject: [PATCH 10/11] ARM: dts: N9: Add support for apds990x ALS/PS
@ -10,7 +10,7 @@ Signed-off-by: filippz <filip.matijevic.pz@gmail.com>
2 files changed, 38 insertions(+) 2 files changed, 38 insertions(+)
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts
index 613ada9a982a..1143a6eef736 100644 index a966597cd53b..700460b0a6a9 100644
--- a/arch/arm/boot/dts/omap3-n9.dts --- a/arch/arm/boot/dts/omap3-n9.dts
+++ b/arch/arm/boot/dts/omap3-n9.dts +++ b/arch/arm/boot/dts/omap3-n9.dts
@@ -57,6 +57,30 @@ @@ -57,6 +57,30 @@
@ -43,7 +43,7 @@ index 613ada9a982a..1143a6eef736 100644
+ }; + };
}; };
&isp { &i2c3 {
diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi diff --git a/arch/arm/boot/dts/omap3-n950-n9.dtsi b/arch/arm/boot/dts/omap3-n950-n9.dtsi
index 219519812050..7ac45b833d1d 100644 index 219519812050..7ac45b833d1d 100644
--- a/arch/arm/boot/dts/omap3-n950-n9.dtsi --- a/arch/arm/boot/dts/omap3-n950-n9.dtsi
@ -77,5 +77,5 @@ index 219519812050..7ac45b833d1d 100644
&i2c1 { &i2c1 {
-- --
2.14.1 2.17.0

View file

@ -1,4 +1,4 @@
From d619104c857f0938801a34acf1ba2d46fd41e521 Mon Sep 17 00:00:00 2001 From ab7066f9285592640b0cc3f870a14c134fdb75b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com> From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
Date: Sat, 16 Dec 2017 07:41:32 +0100 Date: Sat, 16 Dec 2017 07:41:32 +0100
Subject: [PATCH 11/11] HACK: export dma access functions needed by PVR drivers Subject: [PATCH 11/11] HACK: export dma access functions needed by PVR drivers
@ -8,10 +8,10 @@ Subject: [PATCH 11/11] HACK: export dma access functions needed by PVR drivers
1 file changed, 7 insertions(+) 1 file changed, 7 insertions(+)
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index ada8eb206a90..877f7f96462d 100644 index 8c398fedbbb6..cd86f8c49647 100644
--- a/arch/arm/mm/dma-mapping.c --- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c
@@ -2409,3 +2409,10 @@ void arch_teardown_dma_ops(struct device *dev) @@ -2423,3 +2423,10 @@ void arch_teardown_dma_ops(struct device *dev)
arm_teardown_iommu_dma_ops(dev); arm_teardown_iommu_dma_ops(dev);
} }
@ -23,5 +23,5 @@ index ada8eb206a90..877f7f96462d 100644
+EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range)); +EXPORT_SYMBOL(__glue(_CACHE,_dma_flush_range));
+#endif +#endif
-- --
2.14.1 2.17.0

View file

@ -2,7 +2,7 @@ _flavor=nokia-n9
_config="config-${_flavor}.armhf" _config="config-${_flavor}.armhf"
pkgname=linux-${_flavor} pkgname=linux-${_flavor}
pkgver=4.16_rc3 pkgver=4.17_rc4
_pkgver=${pkgver/_/-} _pkgver=${pkgver/_/-}
_kernver=${pkgver%_rc*} _kernver=${pkgver%_rc*}
_mainver=${_kernver%.*} _mainver=${_kernver%.*}
@ -12,7 +12,7 @@ case $pkgver in
*.*.*) _kernver=${pkgver%.*};; *.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;; *.*) _kernver=$pkgver;;
esac esac
pkgrel=1 pkgrel=0
arch="armhf" arch="armhf"
pkgdesc="Nokia N9 kernel" pkgdesc="Nokia N9 kernel"
url="https://kernel.org" url="https://kernel.org"
@ -116,18 +116,18 @@ package() {
INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH="$pkgdir" INSTALL_MOD_STRIP=1
} }
sha512sums="c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea linux-4.15.tar.xz sha512sums="ab47849314b177d0eec9dbf261f33972b0d89fb92fb0650130ffa7abc2f36c0fab2d06317dc1683c51a472a9a631573a9b1e7258d6281a2ee189897827f14662 linux-4.16.tar.xz
b5b4bc53a245725806d7f46d53e5715e8b8505536c96465cd8ea9dc506ed7b1c02a518114c3025786d10ab72c1454c03e85380bddd753f48946ca71bc0ed6f17 linux-v4.15-v4.16-rc3.patch 75ceeda7f8c1e717ffc3d52b7c30a97564b9e4bd1963be086cda3627c40a64a36950511315287dd1f7bbcc02a5ce5e53a26a7dc934125988f20300a24243d886 linux-v4.16-v4.17-rc4.patch
1c2904c09954a88c3e3afe7bc962a460ceb4bb2503a8a69ff6e84786c3a36a86e60b7f6577ba37d57a9e06db65b0ce922d8a9807d6dae6d5fafa3fe54b17e4bd 0001-SREv2.patch 0939e39c44eabc74fb970294599a720dcd3dc56e2836e4c20ffe9af5f132080c4ce72daca4996723f47cae924d67980f542bc010fcdbc757617ea30eff2c4529 0001-SREv2.patch
3f3e4608958a0ef65283fe04cd4cb88b8074f9af5626cb27dafa7ab21e62e9069822d0f018fd3636bba830b6f6f44e47911987713f91b3763fe4703e75158065 0002-drm-add-rename-MIPI_DCS_SET_PARTIAL_XXX.patch 67b05fba89abb9c39e06a5a636534ac7b732e09d5cebff09fb214383fd03c3bcb1c3cf9736de3c533474b5d34e7f0ecc284ab9cf4a37f7a94914a005847acdc9 0002-drm-add-rename-MIPI_DCS_SET_PARTIAL_XXX.patch
b8d627d53e4d32568afa0c2fb5900487616b14c5ce9a14639894bd27aeb8c2a1d5de02435a0af136bd90cbc785c8862f4a9525f1dedd25a901e045c314fbd6d0 0003-drm-omap-panel-dsi-cm-use-defines-from-mipi_display..patch 2901f07d72371cc004dd7520c35279aa1c4d196575663641cc152e841b623337592d0651fcf95550df77325c5a47a7f722b4b86a3b72d7686e5ae8fa7b0240d4 0003-drm-omap-panel-dsi-cm-use-defines-from-mipi_display..patch
3b321910172d0699efd756d77c852f32884f95bea518821f1643b6cbef0eaa3934ca778450bdcfe0d0e341b6fc6e7eb9f6677a3f0c6ab953a493e0fca1fcd30e 0004-ARM-dts-n9-add-display-support.patch 555991324491b138fce123bef5f5996392472336128bb2db4c10a4b6aa77c5b3133245fa01bfb122046f99a491a54ea91fc3a0b743d02bd71bddbe14fde87d25 0004-ARM-dts-n9-add-display-support.patch
0eda9ca295aaa2ee038644eac5227585cd853573b2d8d79def2cf020f6dd9f40238f3957d27d1f55fef55f4c70f3ee76c3b8823231a3f8942bac6532a097ea8a 0005-Revert-drm-omap-work-around-for-omap3-display-enable.patch 62411b4298663f18611bf1407c088df8e359f197cd5ebcbd8cdb1a6a5138ffeb1e31b161ab5cd152b93ab486b0b92e1f27875006b07d0cc3392324a11b41ab79 0005-Revert-drm-omap-work-around-for-omap3-display-enable.patch
98b495c08d5fc4c87688b73aa9cc373a8dfe9303e39c05e22541e09dba688c361a61a8de92f82ded06033106a2a387f9cf0a3099cc89966de73954c063a116dd 0006-HACK-drm-omap-panel-dsi-cm-force-0xff-for-brigthness.patch 69af520fee8164f94071857ed2bd7968e2b8ab437a4b045cd3dff9fa2ad1d532aff9a28a816c3bc54e38bf3b30be64f9aab993106c6710249febb8d5d1b6364d 0006-HACK-drm-omap-panel-dsi-cm-force-0xff-for-brigthness.patch
09cb6c0527e697d663b08a26ca67541b4116a96d8f3b31b681f4ded14f0d2fd9c7eacab6f7c9d7dfee4d991ca6d2cd24d7ea607bd7f389f87998c56e00dd5d98 0007-ARM-dts-N9-N950-Add-touchscreen-support.patch 282da831cc2eedaf532526dbec165c8ced30bd29e5c32b6616b3ec9e568ce5e8748db12801d508049ed1b821600df415ed677e57daae8b863e69876a6fc3e19d 0007-ARM-dts-N9-N950-Add-touchscreen-support.patch
f48757a26498da4b3625091f44f3e7a02a3e08bd18bc9b25f7b61bf66add3622c3841c00c689a3bf1fecfae84fe55c577adab974c5ba947a460a0bbe6811bb63 0008-misc-apds990x-Add-device-tree-support.patch ac1173aa911326b467d3d453dba80641c1d32302989acebc2a3bdb14236c56dca6ace4f6e848a2d1901944d57ab901c6830bc5a3efe33edc39db5177595fbeb8 0008-misc-apds990x-Add-device-tree-support.patch
187be299cd742b836b4831da2d12a0e2c6b6b2a815ee25c2d9ef2ba2300e389cb03243d4c862868eee222db2988dbe8c33c27cf5188f49c1d93501f096562609 0009-misc-apds990x-convert-to-iio.patch c2130e7b5aa389d1377a027acced3af6caf57bd797d4326cd5f3088af5fbcd5ade5764f27c1d12306ab5905a05583eab8e3ddaac6fafc868aa13b8c004039485 0009-misc-apds990x-convert-to-iio.patch
73fb2aae3ca58dba512dc2b252affb7fdda8ad33973ab964e73ff40f8f5de0d3192ca6f36c971a07fd5a14a279cab37eaad6bb92b918d1e9a1b8bc5725d758c2 0010-ARM-dts-N9-Add-support-for-apds990x-ALS-PS.patch a260f4e218416ec51740ddc01b74f177123211604428a0204fd1098230503d64e6a7ba14073747de24195e9a2dbeabac7e971232bf4fde193d1ac6b15377d6d7 0010-ARM-dts-N9-Add-support-for-apds990x-ALS-PS.patch
74642fffa8d93add2e9aa07e463bfc9989776c29c293aca82015ea86bc52be73a5a4987c48f837988b2df877395b9f3a21be8c4b7ccdfc480a362daa46b7cd0d 0011-HACK-export-dma-access-functions-needed-by-PVR-drive.patch 8ad7e3b360139fcd5d79b4cbcf5bfca2f394807394aed022177d5b5fc843b7e0785c93f2ee1ff66e9bcac54ca191fbef30d62a5d6b7eec1ae2f7f9dd70a65fa3 0011-HACK-export-dma-access-functions-needed-by-PVR-drive.patch
b666d18e505bdf9f806f133b0930555ab911cd8625f84b6d2a9caa9cffa805c6fc2c9c0485f9e3dea19b29c7c43cd688d4a5f2d3722d33f67b6435944a164ee0 config-nokia-n9.armhf b666d18e505bdf9f806f133b0930555ab911cd8625f84b6d2a9caa9cffa805c6fc2c9c0485f9e3dea19b29c7c43cd688d4a5f2d3722d33f67b6435944a164ee0 config-nokia-n9.armhf
a9b2eba95ead1226108bf664f49bcad70be99df7284ba807abdbd86a8dc68ebda6fc5d88c15846009f7748f1ae4d6735477d316bb9f298e7728071dad506b35f RM-696_Pyrenees_SMD_V1_6.raw" a9b2eba95ead1226108bf664f49bcad70be99df7284ba807abdbd86a8dc68ebda6fc5d88c15846009f7748f1ae4d6735477d316bb9f298e7728071dad506b35f RM-696_Pyrenees_SMD_V1_6.raw"