linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Initial patches for MSM display update
@ 2011-03-02 21:15 Carl Vanderlip
  2011-03-02 21:16 ` [PATCH 1/4] video: msmfb: Put the partial update magic value into the fix_screen struct Carl Vanderlip
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:15 UTC (permalink / raw)
  To: linux-arm-kernel

These are the first series of a set of patches to update the MSM display
drivers to support newer MDP versions and display modes (while also providing
a base for future display development). The original source for these patches
is the Google Android kernel tree located here:
http://android.git.kernel.org/kernel/msm.git

Arve Hjønnevåg (1):
  [ARM] msm_fb: Fix framebuffer console

Dima Zavin (3):
  video: msmfb: Put the partial update magic value into the fix_screen
    struct.
  [ARM] msm: mdp: Add support for RGBX 8888 image format.
  [ARM] msm: mdp: Set the correct pack pattern for XRGB/ARGB

 drivers/video/msm/mdp_hw.h  |   11 +++++++++--
 drivers/video/msm/mdp_ppp.c |    1 +
 drivers/video/msm/msm_fb.c  |   16 ++++++++++++++--
 include/linux/msm_mdp.h     |    1 +
 4 files changed, 25 insertions(+), 4 deletions(-)

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] video: msmfb: Put the partial update magic value into the fix_screen struct.
  2011-03-02 21:15 [PATCH 0/4] Initial patches for MSM display update Carl Vanderlip
@ 2011-03-02 21:16 ` Carl Vanderlip
  2011-03-02 21:17 ` [PATCH 2/4] [ARM] msm: mdp: Add support for RGBX 8888 image format Carl Vanderlip
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:16 UTC (permalink / raw)
  To: linux-arm-kernel

From: Dima Zavin <dima@android.com>

This can then be tested by userspace to see if the capability is supported.
Userspace cannot rely on that value being left in var_screen, since userspace
itself can change it.

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
---
 drivers/video/msm/msm_fb.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c
index 5436aeb..fe5efe5 100644
--- a/drivers/video/msm/msm_fb.c
+++ b/drivers/video/msm/msm_fb.c
@@ -469,6 +469,18 @@ static void setup_fb_info(struct msmfb_info *msmfb)
 	fb_info->var.yoffset = 0;
 
 	if (msmfb->panel->caps & MSMFB_CAP_PARTIAL_UPDATES) {
+		/*
+		 * Set the param in the fixed screen, so userspace can't
+		 * change it. This will be used to check for the
+		 * capability.
+		 */
+		fb_info->fix.reserved[0] = 0x5444;
+		fb_info->fix.reserved[1] = 0x5055;
+
+		/*
+		 * This preloads the value so that if userspace doesn't
+		 * change it, it will be a full update
+		 */
 		fb_info->var.reserved[0] = 0x54445055;
 		fb_info->var.reserved[1] = 0;
 		fb_info->var.reserved[2] = (uint16_t)msmfb->xres |
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] [ARM] msm: mdp: Add support for RGBX 8888 image format.
  2011-03-02 21:15 [PATCH 0/4] Initial patches for MSM display update Carl Vanderlip
  2011-03-02 21:16 ` [PATCH 1/4] video: msmfb: Put the partial update magic value into the fix_screen struct Carl Vanderlip
@ 2011-03-02 21:17 ` Carl Vanderlip
  2011-03-02 21:17 ` [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console Carl Vanderlip
  2011-03-02 21:18 ` [PATCH 4/4] [ARM] msm: mdp: Set the correct pack pattern for XRGB/ARGB Carl Vanderlip
  3 siblings, 0 replies; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:17 UTC (permalink / raw)
  To: linux-arm-kernel

From: Dima Zavin <dima@android.com>

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
---
 drivers/video/msm/mdp_hw.h  |    9 ++++++++-
 drivers/video/msm/mdp_ppp.c |    1 +
 include/linux/msm_mdp.h     |    1 +
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/video/msm/mdp_hw.h b/drivers/video/msm/mdp_hw.h
index 4e3deb4..9e1e92e 100644
--- a/drivers/video/msm/mdp_hw.h
+++ b/drivers/video/msm/mdp_hw.h
@@ -449,6 +449,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 #define PPP_CFG_MDP_XRGB_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 #define PPP_CFG_MDP_RGBA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 #define PPP_CFG_MDP_BGRA_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
+#define PPP_CFG_MDP_RGBX_8888(dir) PPP_CFG_MDP_ARGB_8888(dir)
 
 #define PPP_CFG_MDP_Y_CBCR_H2V2(dir)   (PPP_##dir##_C2R_8BIT | \
 					PPP_##dir##_C0G_8BIT | \
@@ -494,6 +495,8 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 	MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8)
 #define PPP_PACK_PATTERN_MDP_BGRA_8888 \
 	MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_R, CLR_G, CLR_B, 8)
+#define PPP_PACK_PATTERN_MDP_RGBX_8888 \
+	MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8)
 #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1 \
 	MDP_GET_PACK_PATTERN(0, 0, CLR_CB, CLR_CR, 8)
 #define PPP_PACK_PATTERN_MDP_Y_CBCR_H2V2 PPP_PACK_PATTERN_MDP_Y_CBCR_H2V1
@@ -509,6 +512,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 #define PPP_CHROMA_SAMP_MDP_ARGB_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_RGBA_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_BGRA_8888(dir) PPP_OP_##dir##_CHROMA_RGB
+#define PPP_CHROMA_SAMP_MDP_RGBX_8888(dir) PPP_OP_##dir##_CHROMA_RGB
 #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1
 #define PPP_CHROMA_SAMP_MDP_Y_CBCR_H2V2(dir) PPP_OP_##dir##_CHROMA_420
 #define PPP_CHROMA_SAMP_MDP_Y_CRCB_H2V1(dir) PPP_OP_##dir##_CHROMA_H2V1
@@ -523,6 +527,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 	[MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888,\
 	[MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888,\
 	[MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888,\
+	[MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888,\
 	[MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1,\
 	[MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2,\
 	[MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1,\
@@ -536,6 +541,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 	[MDP_ARGB_8888] = PPP_##name##_MDP_ARGB_8888(dir),\
 	[MDP_RGBA_8888] = PPP_##name##_MDP_RGBA_8888(dir),\
 	[MDP_BGRA_8888] = PPP_##name##_MDP_BGRA_8888(dir),\
+	[MDP_RGBX_8888] = PPP_##name##_MDP_RGBX_8888(dir),\
 	[MDP_Y_CBCR_H2V1] = PPP_##name##_MDP_Y_CBCR_H2V1(dir),\
 	[MDP_Y_CBCR_H2V2] = PPP_##name##_MDP_Y_CBCR_H2V2(dir),\
 	[MDP_Y_CRCB_H2V1] = PPP_##name##_MDP_Y_CRCB_H2V1(dir),\
@@ -547,7 +553,8 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 		       (img = MDP_YCRYCB_H2V1))
 #define IS_RGB(img) ((img = MDP_RGB_565) | (img = MDP_RGB_888) | \
 		     (img = MDP_ARGB_8888) | (img = MDP_RGBA_8888) | \
-		     (img = MDP_XRGB_8888) | (img = MDP_BGRA_8888))
+		     (img = MDP_XRGB_8888) | (img = MDP_BGRA_8888) | \
+		     (img = MDP_RGBX_8888))
 #define HAS_ALPHA(img) ((img = MDP_ARGB_8888) | (img = MDP_RGBA_8888) | \
 			(img = MDP_BGRA_8888))
 
diff --git a/drivers/video/msm/mdp_ppp.c b/drivers/video/msm/mdp_ppp.c
index 4ff001f..2b6564e 100644
--- a/drivers/video/msm/mdp_ppp.c
+++ b/drivers/video/msm/mdp_ppp.c
@@ -69,6 +69,7 @@ static uint32_t bytes_per_pixel[] = {
 	[MDP_ARGB_8888] = 4,
 	[MDP_RGBA_8888] = 4,
 	[MDP_BGRA_8888] = 4,
+	[MDP_RGBX_8888] = 4,
 	[MDP_Y_CBCR_H2V1] = 1,
 	[MDP_Y_CBCR_H2V2] = 1,
 	[MDP_Y_CRCB_H2V1] = 1,
diff --git a/include/linux/msm_mdp.h b/include/linux/msm_mdp.h
index d11fe0f..fe722c1 100644
--- a/include/linux/msm_mdp.h
+++ b/include/linux/msm_mdp.h
@@ -32,6 +32,7 @@ enum {
 	MDP_Y_CBCR_H2V1,	/* Y and CrCb, pseduo planar w/ Cr is in MSB */
 	MDP_RGBA_8888,		/* ARGB 888 */
 	MDP_BGRA_8888,		/* ABGR 888 */
+	MDP_RGBX_8888,		/* RGBX 888 */
 	MDP_IMGTYPE_LIMIT	/* Non valid image type after this enum */
 };
 
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console
  2011-03-02 21:15 [PATCH 0/4] Initial patches for MSM display update Carl Vanderlip
  2011-03-02 21:16 ` [PATCH 1/4] video: msmfb: Put the partial update magic value into the fix_screen struct Carl Vanderlip
  2011-03-02 21:17 ` [PATCH 2/4] [ARM] msm: mdp: Add support for RGBX 8888 image format Carl Vanderlip
@ 2011-03-02 21:17 ` Carl Vanderlip
  2011-03-02 21:26   ` Carl Vanderlip
  2011-03-02 21:18 ` [PATCH 4/4] [ARM] msm: mdp: Set the correct pack pattern for XRGB/ARGB Carl Vanderlip
  3 siblings, 1 reply; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:17 UTC (permalink / raw)
  To: linux-arm-kernel

From: Arve Hjønnevåg <arve@android.com>

Don't allow non panning updates to bypass the wait for the panel to turn on.

Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
---
 drivers/video/msm/msm_fb.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c
index fe5efe5..ec35130 100644
--- a/drivers/video/msm/msm_fb.c
+++ b/drivers/video/msm/msm_fb.c
@@ -219,8 +219,8 @@ restart:
 
 	sleeping = msmfb->sleeping;
 	/* on a full update, if the last frame has not completed, wait for it */
-	if (pan_display && (msmfb->frame_requested != msmfb->frame_done ||
-			    sleeping = UPDATING)) {
+	if ((pan_display && msmfb->frame_requested != msmfb->frame_done) ||
+			    sleeping = UPDATING) {
 		int ret;
 		spin_unlock_irqrestore(&msmfb->update_lock, irq_flags);
 		ret = wait_event_interruptible_timeout(msmfb->frame_wq,
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] [ARM] msm: mdp: Set the correct pack pattern for XRGB/ARGB
  2011-03-02 21:15 [PATCH 0/4] Initial patches for MSM display update Carl Vanderlip
                   ` (2 preceding siblings ...)
  2011-03-02 21:17 ` [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console Carl Vanderlip
@ 2011-03-02 21:18 ` Carl Vanderlip
  3 siblings, 0 replies; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:18 UTC (permalink / raw)
  To: linux-arm-kernel

From: Dima Zavin <dima@android.com>

Signed-off-by: Dima Zavin <dima@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
---
 drivers/video/msm/mdp_hw.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/video/msm/mdp_hw.h b/drivers/video/msm/mdp_hw.h
index 9e1e92e..d804774 100644
--- a/drivers/video/msm/mdp_hw.h
+++ b/drivers/video/msm/mdp_hw.h
@@ -489,7 +489,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
 	MDP_GET_PACK_PATTERN(0, CLR_R, CLR_G, CLR_B, 8)
 #define PPP_PACK_PATTERN_MDP_RGB_888 PPP_PACK_PATTERN_MDP_RGB_565
 #define PPP_PACK_PATTERN_MDP_XRGB_8888 \
-	MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_R, CLR_G, CLR_B, 8)
+	MDP_GET_PACK_PATTERN(CLR_B, CLR_G, CLR_R, CLR_ALPHA, 8)
 #define PPP_PACK_PATTERN_MDP_ARGB_8888 PPP_PACK_PATTERN_MDP_XRGB_8888
 #define PPP_PACK_PATTERN_MDP_RGBA_8888 \
 	MDP_GET_PACK_PATTERN(CLR_ALPHA, CLR_B, CLR_G, CLR_R, 8)
-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console
  2011-03-02 21:17 ` [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console Carl Vanderlip
@ 2011-03-02 21:26   ` Carl Vanderlip
  2011-03-04 23:03     ` Arve Hjønnevåg
  0 siblings, 1 reply; 7+ messages in thread
From: Carl Vanderlip @ 2011-03-02 21:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2011-03-02 at 13:17 -0800, Carl Vanderlip wrote:
> From: Arve Hjønnevåg <arve@android.com>
>
> Don't allow non panning updates to bypass the wait for the panel to turn
on.
>
> Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>

Arve,

	This patch did not have a SOB from you. Would you sign off on this patch?

    -Carl V.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console
  2011-03-02 21:26   ` Carl Vanderlip
@ 2011-03-04 23:03     ` Arve Hjønnevåg
  0 siblings, 0 replies; 7+ messages in thread
From: Arve Hjønnevåg @ 2011-03-04 23:03 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Mar 2, 2011 at 1:26 PM, Carl Vanderlip <carlv@codeaurora.org> wrote:
> On Wed, 2011-03-02 at 13:17 -0800, Carl Vanderlip wrote:
>> From: Arve Hjønnevåg <arve@android.com>
>>
>> Don't allow non panning updates to bypass the wait for the panel to turn
> on.
>>
>> Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
>
> Arve,
>
>        This patch did not have a SOB from you. Would you sign off on this patch?
>

Yes, you can add a sign-off and/or ack by me.

-- 
Arve Hjønnevåg

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-03-04 23:03 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-02 21:15 [PATCH 0/4] Initial patches for MSM display update Carl Vanderlip
2011-03-02 21:16 ` [PATCH 1/4] video: msmfb: Put the partial update magic value into the fix_screen struct Carl Vanderlip
2011-03-02 21:17 ` [PATCH 2/4] [ARM] msm: mdp: Add support for RGBX 8888 image format Carl Vanderlip
2011-03-02 21:17 ` [PATCH 3/4] [ARM] msm_fb: Fix framebuffer console Carl Vanderlip
2011-03-02 21:26   ` Carl Vanderlip
2011-03-04 23:03     ` Arve Hjønnevåg
2011-03-02 21:18 ` [PATCH 4/4] [ARM] msm: mdp: Set the correct pack pattern for XRGB/ARGB Carl Vanderlip

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).