summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 16e4ed7)
raw | patch | inline | side by side (parent: 16e4ed7)
author | Jack Yen <jyen@ti.com> | |
Thu, 3 Jan 2013 14:43:21 +0000 (16:43 +0200) | ||
committer | Praneeth Bajjuri <praneeth@ti.com> | |
Fri, 12 Jul 2013 22:45:11 +0000 (17:45 -0500) |
The patch fixed the stride calculation based on rotation angle.
Ported from k3.0, commit Id 6da9df431be5b [Jack Yen <jyen@ti.com>]
Change-Id: I7bb5e798568004e7429a5aff870ac9c5b64f87c6
Signed-off-by: Jack Yen <jyen@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Ported from k3.0, commit Id 6da9df431be5b [Jack Yen <jyen@ti.com>]
Change-Id: I7bb5e798568004e7429a5aff870ac9c5b64f87c6
Signed-off-by: Jack Yen <jyen@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
drivers/video/omap2/omaplfb/omaplfb_bv.c | patch | blob | history | |
drivers/video/omap2/omaplfb/omaplfb_linux.c | patch | blob | history |
index 67b7bba725c899b176abcd25a1081aa0c39ffa6b..0e3b15d91234dfb57fd858522c495c7db00ccc3d 100644 (file)
@@ -391,7 +391,10 @@ static void OMAPLFBSetNV12Params(struct bvsurfgeom *geom, struct bvbuffdesc *des
return;
/* Fixup stride for NV12 format */
- geom->virtstride = (desc->length * 2) / (geom->height * 3);
+ if (geom->orientation % 180 == 0)
+ geom->virtstride = (desc->length * 2) / (geom->height * 3);
+ else
+ geom->virtstride = (desc->length * 2) / (geom->width * 3);
}
void OMAPLFBDoBlits(OMAPLFB_DEVINFO *psDevInfo, PDC_MEM_INFO *ppsMemInfos, struct omap_hwc_blit_data *blit_data, IMG_UINT32 ui32NumMemInfos)
@@ -428,6 +431,7 @@ void OMAPLFBDoBlits(OMAPLFB_DEVINFO *psDevInfo, PDC_MEM_INFO *ppsMemInfos, struc
entry->bp.src1geom->virtstride = OMAPLFB_CLRBUFF_SZ;
entry->bp.src1.desc = &entry->src1desc;
entry->bp.src1.desc->virtaddr = psPVRFBInfo->pvClearBuffer;
+ entry->bp.src1.desc->length = OMAPLFB_CLRBUFF_SZ;
}
else if (meminfo_ix & HWC_BLT_DESC_FLAG)
{
diff --git a/drivers/video/omap2/omaplfb/omaplfb_linux.c b/drivers/video/omap2/omaplfb/omaplfb_linux.c
index 594a6b84751733b14bb98f38c5ebb7a10c7e3afe..235689fa9e8d342899f19c4482fb3c388e6f32c5 100644 (file)
return OMAPLFB_FALSE;
}
-#if !defined(OMAP_FB_UPDATE_MODE)
static enum OMAP_UPDATE_MODE OMAPLFBToUpdateMode(OMAPLFB_UPDATE_MODE eMode)
{
switch(eMode)
return -1;
}
-#endif
#if defined(DEBUG)
static const char *OMAPLFBUpdateModeToString(OMAPLFB_UPDATE_MODE eMode)
return "Unknown Update Mode";
}
-#if !defined(OMAP_FB_UPDATE_MODE)
static const char *OMAPLFBDSSUpdateModeToString(enum OMAP_UPDATE_MODE eMode)
{
if (!OMAPLFBValidUpdateMode(eMode))
return OMAPLFBUpdateModeToString(OMAPLFBFromUpdateMode(eMode));
}
-#endif
void OMAPLFBPrintInfo(OMAPLFB_DEVINFO *psDevInfo)
{
OMAPLFB_BOOL OMAPLFBSetUpdateMode(OMAPLFB_DEVINFO *psDevInfo, OMAPLFB_UPDATE_MODE eMode)
{
+ enum OMAP_UPDATE_MODE eUpdateMode;
int res;
if (!OMAPLFBValidateUpdateMode(eMode))
@@ -609,11 +606,14 @@ OMAPLFB_BOOL OMAPLFBSetUpdateMode(OMAPLFB_DEVINFO *psDevInfo, OMAPLFB_UPDATE_MOD
return OMAPLFB_FALSE;
}
- res = omapfb_set_update_mode(psDevInfo->psLINFBInfo, eMode);
+ res = omapfb_set_update_mode(psDevInfo->psLINFBInfo, eUpdateMode);
if (res != 0)
{
- DEBUG_PRINTK((KERN_WARNING DRIVER_PREFIX ": %s: Device %u: set_update_mode (%s) failed (%d)\n", __FUNCTION__, psDevInfo->uiFBDevID, OMAPLFBUpdateModeToString(eMode), res));
+ DEBUG_PRINTK((KERN_WARNING DRIVER_PREFIX \
+ ": %s: Device %u: set_update_mode (%s) failed (%d)\n", __func__,
+ psDevInfo->uiFBDevID,
+ OMAPLFBUpdateModeToString(eUpdateMode), res));
}
return (res == 0);