Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752791Ab1CUFRo (ORCPT ); Mon, 21 Mar 2011 01:17:44 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:35061 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752729Ab1CUFRl convert rfc822-to-8bit (ORCPT ); Mon, 21 Mar 2011 01:17:41 -0400 From: "Janorkar, Mayuresh" To: Carl Vanderlip , David Brown , Daniel Walker , Bryan Huntsman CC: Brian Swetland , Dima Zavin , Rebecca Schultz Zavin , Colin Cross , "linux-fbdev@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-arm-msm@vger.kernel.org" , "linux-kernel@vger.kernel.org" Date: Mon, 21 Mar 2011 10:47:25 +0530 Subject: RE: [PATCH 08/20] video: msm: Refactor mdp_regs Thread-Topic: [PATCH 08/20] video: msm: Refactor mdp_regs Thread-Index: AcvlvR5409WwMOJjQPGTiIr3ki1euwByfcwQ Message-ID: References: <1300484846-26393-1-git-send-email-carlv@codeaurora.org> <1300485404-27241-1-git-send-email-carlv@codeaurora.org> In-Reply-To: <1300485404-27241-1-git-send-email-carlv@codeaurora.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8707 Lines: 271 > -----Original Message----- > From: linux-fbdev-owner@vger.kernel.org [mailto:linux-fbdev- > owner@vger.kernel.org] On Behalf Of Carl Vanderlip > Sent: Saturday, March 19, 2011 3:27 AM > To: David Brown; Daniel Walker; Bryan Huntsman > Cc: Brian Swetland; Dima Zavin; Rebecca Schultz Zavin; Colin Cross; linux- > fbdev@vger.kernel.org; Carl Vanderlip; 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 > > 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 > Rebecca Schultz Zavin > Colin Cross > > Signed-off-by: Carl Vanderlip > --- > 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 > > #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 If you want correct copyright info (to 2009-2011) here. > + * > + * 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 > + > +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. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/