From: Carl Vanderlip <carlv@codeaurora.org>
To: David Brown <davidb@codeaurora.org>,
Daniel Walker <dwalker@fifo99.com>,
Bryan Huntsman <bryanh@codeaurora.org>
Cc: Brian Swetland <swetland@google.com>,
Dima Zavin <dima@android.com>,
Rebecca Schultz Zavin <rebecca@android.com>,
Colin Cross <ccross@android.com>,
linux-fbdev@vger.kernel.org,
Carl Vanderlip <carlv@codeaurora.org>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 08/20] video: msm: Refactor mdp_regs
Date: Fri, 18 Mar 2011 14:56:44 -0700 [thread overview]
Message-ID: <1300485404-27241-1-git-send-email-carlv@codeaurora.org> (raw)
In-Reply-To: <1300484846-26393-1-git-send-email-carlv@codeaurora.org>
To begin splitting hw specific PPP operations into different files,
the mdp_regs struct will be moved into a new generic header file
for PPP operations.
Authors:
Dima Zavin <dima@android.com>
Rebecca Schultz Zavin <rebecca@android.com>
Colin Cross <ccross@android.com>
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
---
drivers/video/msm/mdp_ppp.c | 49 +++++++++++++-----------------------------
drivers/video/msm/mdp_ppp.h | 50 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 65 insertions(+), 34 deletions(-)
create mode 100644 drivers/video/msm/mdp_ppp.h
diff --git a/drivers/video/msm/mdp_ppp.c b/drivers/video/msm/mdp_ppp.c
index 2b04027..05f3e33 100644
--- a/drivers/video/msm/mdp_ppp.c
+++ b/drivers/video/msm/mdp_ppp.c
@@ -19,6 +19,7 @@
#include <mach/msm_fb.h>
#include "mdp_hw.h"
+#include "mdp_ppp.h"
#include "mdp_scale_tables.h"
#define DLOG(x...) do {} while (0)
@@ -27,28 +28,6 @@
static int downscale_y_table = MDP_DOWNSCALE_MAX;
static int downscale_x_table = MDP_DOWNSCALE_MAX;
-struct mdp_regs {
- uint32_t src0;
- uint32_t src1;
- uint32_t dst0;
- uint32_t dst1;
- uint32_t src_cfg;
- uint32_t dst_cfg;
- uint32_t src_pack;
- uint32_t dst_pack;
- uint32_t src_rect;
- uint32_t dst_rect;
- uint32_t src_ystride;
- uint32_t dst_ystride;
- uint32_t op;
- uint32_t src_bpp;
- uint32_t dst_bpp;
- uint32_t edge;
- uint32_t phasex_init;
- uint32_t phasey_init;
- uint32_t phasex_step;
- uint32_t phasey_step;
-};
static uint32_t pack_pattern[] = {
PPP_ARRAY0(PACK_PATTERN)
@@ -88,7 +67,8 @@ static uint32_t bg_op_chroma[] = {
PPP_ARRAY1(CHROMA_SAMP, BG)
};
-static void rotate_dst_addr_x(struct mdp_blit_req *req, struct mdp_regs *regs)
+static void rotate_dst_addr_x(struct mdp_blit_req *req,
+ struct ppp_regs *regs)
{
regs->dst0 += (req->dst_rect.w -
min((uint32_t)16, req->dst_rect.w)) * regs->dst_bpp;
@@ -96,7 +76,8 @@ static void rotate_dst_addr_x(struct mdp_blit_req *req, struct mdp_regs *regs)
min((uint32_t)16, req->dst_rect.w)) * regs->dst_bpp;
}
-static void rotate_dst_addr_y(struct mdp_blit_req *req, struct mdp_regs *regs)
+static void rotate_dst_addr_y(struct mdp_blit_req *req,
+ struct ppp_regs *regs)
{
regs->dst0 += (req->dst_rect.h -
min((uint32_t)16, req->dst_rect.h)) *
@@ -107,7 +88,7 @@ static void rotate_dst_addr_y(struct mdp_blit_req *req, struct mdp_regs *regs)
}
static void blit_rotate(struct mdp_blit_req *req,
- struct mdp_regs *regs)
+ struct ppp_regs *regs)
{
if (req->flags == MDP_ROT_NOP)
return;
@@ -126,7 +107,7 @@ static void blit_rotate(struct mdp_blit_req *req,
regs->op |= PPP_OP_FLIP_LR;
}
-static void blit_convert(struct mdp_blit_req *req, struct mdp_regs *regs)
+static void blit_convert(struct mdp_blit_req *req, struct ppp_regs *regs)
{
if (req->src.format == req->dst.format)
return;
@@ -165,7 +146,7 @@ static uint32_t transp_convert(struct mdp_blit_req *req)
}
#undef GET_BIT_RANGE
-static void blit_blend(struct mdp_blit_req *req, struct mdp_regs *regs)
+static void blit_blend(struct mdp_blit_req *req, struct ppp_regs *regs)
{
/* TRANSP BLEND */
if (req->transp_mask != MDP_TRANSP_NOP) {
@@ -332,7 +313,7 @@ static void get_edge_info(uint32_t src, uint32_t src_coord, uint32_t dst,
*interp2 += src_coord;
}
-static int get_edge_cond(struct mdp_blit_req *req, struct mdp_regs *regs)
+static int get_edge_cond(struct mdp_blit_req *req, struct ppp_regs *regs)
{
int32_t luma_interp[4];
int32_t luma_repeat[4];
@@ -432,7 +413,7 @@ static int get_edge_cond(struct mdp_blit_req *req, struct mdp_regs *regs)
}
static int blit_scale(const struct mdp_info *mdp, struct mdp_blit_req *req,
- struct mdp_regs *regs)
+ struct ppp_regs *regs)
{
uint32_t phase_init_x, phase_init_y, phase_step_x, phase_step_y;
uint32_t scale_factor_x, scale_factor_y;
@@ -500,7 +481,7 @@ static int blit_scale(const struct mdp_info *mdp, struct mdp_blit_req *req,
}
static void blit_blur(const struct mdp_info *mdp, struct mdp_blit_req *req,
- struct mdp_regs *regs)
+ struct ppp_regs *regs)
{
if (!(req->flags & MDP_BLUR))
return;
@@ -534,7 +515,7 @@ static void get_len(struct mdp_img *img, struct mdp_rect *rect, uint32_t bpp,
static int valid_src_dst(unsigned long src_start, unsigned long src_len,
unsigned long dst_start, unsigned long dst_len,
- struct mdp_blit_req *req, struct mdp_regs *regs)
+ struct mdp_blit_req *req, struct ppp_regs *regs)
{
unsigned long src_min_ok = src_start;
unsigned long src_max_ok = src_start + src_len;
@@ -575,7 +556,7 @@ static int valid_src_dst(unsigned long src_start, unsigned long src_len,
}
-static void flush_imgs(struct mdp_blit_req *req, struct mdp_regs *regs,
+static void flush_imgs(struct mdp_blit_req *req, struct ppp_regs *regs,
struct file *src_file, struct file *dst_file)
{
}
@@ -601,7 +582,7 @@ static void get_chroma_addr(struct mdp_img *img, struct mdp_rect *rect,
}
static int send_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
- struct mdp_regs *regs, struct file *src_file,
+ struct ppp_regs *regs, struct file *src_file,
struct file *dst_file)
{
mdp_writel(mdp, 1, 0x060);
@@ -646,7 +627,7 @@ int mdp_ppp_blit(const struct mdp_info *mdp, struct mdp_blit_req *req,
struct file *src_file, unsigned long src_start, unsigned long src_len,
struct file *dst_file, unsigned long dst_start, unsigned long dst_len)
{
- struct mdp_regs regs = {0};
+ struct ppp_regs regs = {0};
if (unlikely(req->src.format >= MDP_IMGTYPE_LIMIT ||
req->dst.format >= MDP_IMGTYPE_LIMIT)) {
diff --git a/drivers/video/msm/mdp_ppp.h b/drivers/video/msm/mdp_ppp.h
new file mode 100644
index 0000000..ef3b125
--- /dev/null
+++ b/drivers/video/msm/mdp_ppp.h
@@ -0,0 +1,50 @@
+/* drivers/video/msm/mdp_ppp.h
+ *
+ * Copyright (C) 2009 Google Incorporated
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _VIDEO_MSM_MDP_PPP_H_
+#define _VIDEO_MSM_MDP_PPP_H_
+
+#include <linux/types.h>
+
+struct ppp_regs {
+ uint32_t src0;
+ uint32_t src1;
+ uint32_t dst0;
+ uint32_t dst1;
+ uint32_t src_cfg;
+ uint32_t dst_cfg;
+ uint32_t src_pack;
+ uint32_t dst_pack;
+ uint32_t src_rect;
+ uint32_t dst_rect;
+ uint32_t src_ystride;
+ uint32_t dst_ystride;
+ uint32_t op;
+ uint32_t src_bpp;
+ uint32_t dst_bpp;
+ uint32_t edge;
+ uint32_t phasex_init;
+ uint32_t phasey_init;
+ uint32_t phasex_step;
+ uint32_t phasey_step;
+
+ uint32_t bg0;
+ uint32_t bg1;
+ uint32_t bg_cfg;
+ uint32_t bg_bpp;
+ uint32_t bg_pack;
+ uint32_t bg_ystride;
+};
+
+#endif /* _VIDEO_MSM_MDP_PPP_H_ */
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2011-03-18 21:56 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-18 21:47 [PATCH 00/20] video: msm: Adding Support for MDP3.1 Carl Vanderlip
2011-03-18 21:51 ` [PATCH 01/20] video: msm: Fix typo 'mpd'->'mdp' Carl Vanderlip
2011-03-21 4:24 ` Janorkar, Mayuresh
2011-03-22 0:08 ` Carl Vanderlip
2011-03-18 21:53 ` [PATCH 02/20] video: msm: add spinlock to mdp_info struct Carl Vanderlip
2011-03-18 21:53 ` [PATCH 03/20] video: msm: add locked_enable_mdp_irq function Carl Vanderlip
2011-03-18 21:54 ` [PATCH 04/20] video: msm: Move clk to mdp_info struct Carl Vanderlip
2011-03-18 21:54 ` [PATCH 05/20] video: msm: Setup framework for multiple output interfaces Carl Vanderlip
2011-03-18 21:55 ` [PATCH 06/20] video: msm: Simplify mdp_blit function Carl Vanderlip
2011-03-18 21:56 ` [PATCH 07/20] video: msm: Allow users to request a larger x and y virtual fb Carl Vanderlip
2011-03-21 4:40 ` Janorkar, Mayuresh
2011-03-21 16:41 ` Russell King - ARM Linux
2011-03-22 0:21 ` Carl Vanderlip
2011-03-18 21:56 ` Carl Vanderlip [this message]
2011-03-21 5:17 ` [PATCH 08/20] video: msm: Refactor mdp_regs Janorkar, Mayuresh
2011-03-21 17:23 ` Bryan Huntsman
2011-03-21 17:28 ` Brian Swetland
2011-03-18 21:57 ` [PATCH 09/20] video: msm: Split out MDP2.2 HW specific code Carl Vanderlip
2011-03-20 9:22 ` Russell King - ARM Linux
2011-03-22 0:26 ` Carl Vanderlip
2011-03-21 5:15 ` Janorkar, Mayuresh
2011-03-23 13:11 ` Daniel Walker
2011-03-23 19:18 ` Dima Zavin
2011-03-23 20:42 ` Carl Vanderlip
2011-03-23 22:47 ` David Brown
2011-03-18 21:57 ` [PATCH 10/20] video: msm: Separate more MDP " Carl Vanderlip
2011-03-18 21:57 ` [PATCH 11/20] video: msm: Add MDP FB DMA configuration Carl Vanderlip
2011-03-21 5:18 ` Janorkar, Mayuresh
2011-03-18 21:58 ` [PATCH 12/20] video: msm: Add IRQ callback for MDP interface Carl Vanderlip
2011-03-18 21:58 ` [PATCH 13/20] video: msm: Debugging for send_blit Carl Vanderlip
2011-03-21 5:20 ` Janorkar, Mayuresh
2011-03-18 21:58 ` [PATCH 14/20] video: msm: Write IRQ mask to MDP registers Carl Vanderlip
2011-03-18 21:59 ` [PATCH 15/20] video: msm: convert printk to pr_* Carl Vanderlip
2011-03-21 5:22 ` Janorkar, Mayuresh
2011-03-21 13:33 ` Sergei Shtylyov
2011-03-18 21:59 ` [PATCH 16/20] video: msm: Set the EBI1 clock to 128MHz when performing blits Carl Vanderlip
2011-03-21 20:31 ` Stephen Boyd
2011-03-18 21:59 ` [PATCH 17/20] video: msm: Prevent framebuffer glitch during initialization Carl Vanderlip
2011-03-21 13:39 ` Sergei Shtylyov
2011-03-21 23:49 ` Carl Vanderlip
2011-03-18 21:59 ` [PATCH 18/20] video: msm: Prevent DMA lockups when switching bit depths Carl Vanderlip
2011-03-21 13:42 ` Sergei Shtylyov
2011-03-18 21:59 ` [PATCH 19/20] video: msm: Separate calculation of base and offset Carl Vanderlip
2011-03-18 22:00 ` [PATCH 20/20] video: msm: Add support for MDP 3.1 (qsd8k) Carl Vanderlip
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1300485404-27241-1-git-send-email-carlv@codeaurora.org \
--to=carlv@codeaurora.org \
--cc=bryanh@codeaurora.org \
--cc=ccross@android.com \
--cc=davidb@codeaurora.org \
--cc=dima@android.com \
--cc=dwalker@fifo99.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rebecca@android.com \
--cc=swetland@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).