linux/drivers/video
Tomi Valkeinen 5ed8cf5b8e OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4
The DMA FIFO threshold registers and burst size registers have changed
for OMAP4.  The current code only handles OMAP2/3 case, and so the
values are a bit off for OMAP4.  A summary of the differences between
OMAP2/3 and OMAP4:

Burst size:
OMAP2/3: 4 x 32 bits / 8 x 32 bits / 16 x 32 bits
OMAP4: 2 x 128 bits / 4 x 128 bits / 8 x 128 bits

Threshold size:
OMAP2/3: in bytes (8 bit units)
OMAP4: in 128bit units

This patch fixes the issue by creating two new helper functions in
dss_features: dss_feat_get_buffer_size_unit() and
dss_feat_get_burst_size_unit(). These return (in bytes) the unit size
for threshold registers and unit size for burst size register,
respectively, and are used to calculate correct values.

For the threshold size the usage is straightforward. However, the burst
size register has different multipliers for OMAP2/3 and OMAP4. This
patch solves the problem by defining the multipliers for the burst size
as 2x, 4x and 8x, which fit fine for the OMAP4 burst size definition
(i.e. burst size unit for OMAP4 is 128bits), but requires a slight twist
on OMAP2/3 by defining the burst size unit as 64bit.

As the driver in practice always uses the maximum burst size, and no use
case currently exists where we would want to use a smaller burst size,
this patch changes the driver to hardcode the burst size when
initializing DISPC. This makes the threshold configuration code somewhat
simpler.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2011-07-01 12:07:14 +03:00
..
aty fbdev/atyfb: Fix 2 defined-but-not-used warnings 2011-06-14 16:37:49 +09:00
backlight drivers/video/backlight/adp8870_bl.c: add missed props.type conversion 2011-06-15 20:03:59 -07:00
console Merge branch 'master' into for-next 2011-04-26 10:22:59 +02:00
display Fix common misspellings 2011-03-31 11:26:23 -03:00
geode Fix common misspellings 2011-03-31 11:26:23 -03:00
i810 Fix common misspellings 2011-03-31 11:26:23 -03:00
intelfb video: change to new flag variable 2011-03-17 14:05:35 +01:00
kyro Fix common misspellings 2011-03-31 11:26:23 -03:00
logo fbdev: move logo externs to header file 2009-06-16 19:47:57 -07:00
matrox Fix common misspellings 2011-03-31 11:26:23 -03:00
mb862xx drivers/video/mb862xx/mb862xxfbdrv.c needs uaccess.h 2011-05-26 17:12:32 -07:00
mbx llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
msm treewide: Fix iomap resource size miscalculations 2011-04-10 17:01:04 +02:00
nvidia backlight: add backlight type 2011-03-22 17:43:59 -07:00
omap Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2011-05-26 12:11:54 -07:00
omap2 OMAP: DSS2: Fix FIFO threshold and burst size for OMAP4 2011-07-01 12:07:14 +03:00
pnx4008 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
riva backlight: add backlight type 2011-03-22 17:43:59 -07:00
savage savagefb: Use panel CVT mode as default 2011-06-02 17:05:18 +09:00
sis sisfb: add support for XGI Z9 DDR2 POST 2011-03-22 15:21:01 +09:00
vermilion vmlfb: use list_move() instead of list_del()/list_add() combination 2011-03-22 15:13:38 +09:00
via Merge branch 'gpio/next' of git://git.secretlab.ca/git/linux-2.6 2011-05-26 12:14:41 -07:00
68328fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acornfb.c ARM: RiscPC: acornfb: fix section mismatches 2011-05-06 08:16:51 +01:00
acornfb.h
amba-clcd.c Merge branches 'fixes', 'pgt-next' and 'versatile' into devel 2011-03-20 09:32:12 +00:00
amifb.c fbdev/amifb: Remove superfluous alignment of frame buffer memory 2011-05-24 16:26:31 +09:00
arcfb.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
arkfb.c arkfb: Compute VGA base iomem pointer explicitly. 2011-03-22 15:47:55 +09:00
asiliantfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atafb.c m68k/atari: Do not use "/" in interrupt names 2011-05-19 18:19:10 +02:00
atafb.h
atmel_lcdfb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
au1100fb.c VIDEO: Au1100fb: Fix section mismatch 2010-07-26 19:08:15 +01:00
au1100fb.h
au1200fb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
au1200fb.h
bf54x-lq043fb.c backlight: add backlight type 2011-03-22 17:43:59 -07:00
bf537-lq035.c fbdev: bf537-lq035: add missing blacklight properties type 2011-06-02 17:07:35 +09:00
bfin_adv7393fb.c fbdev: bfin_adv7393fb: new Blackfin ADV7393 driver 2010-11-26 15:06:39 +09:00
bfin_adv7393fb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
bfin-lq035q1-fb.c drivers/video/bfin-lq035q1-fb.c: introduce missing kfree 2011-04-06 09:44:57 -07:00
bfin-t350mcqb-fb.c backlight: add backlight type 2011-03-22 17:43:59 -07:00
broadsheetfb.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
bt431.h
bt455.h
bw2.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
c2p_core.h
c2p_iplan2.c
c2p_planar.c fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
c2p.h fbdev: c2p - Rename c2p to c2p_planar 2009-01-12 20:56:32 +01:00
carminefb_regs.h
carminefb.c drivers/video/carminefb.c: improve error handling 2011-01-06 15:46:56 +09:00
carminefb.h
cfbcopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cfbfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
cfbimgblt.c
cg3.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
cg6.c video: add missing framebuffer_release in error path 2011-03-22 16:35:44 +09:00
cg14.c video: add missing framebuffer_release in error path 2011-03-22 16:35:44 +09:00
chipsfb.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
cirrusfb.c m68k: amiga - Zorro bus modalias support 2010-05-17 21:37:41 +02:00
clps711xfb.c clps711xfb: convert to proc_fops 2009-12-16 07:20:04 -08:00
cobalt_lcdfb.c cocbalt_lcdfb: correct sections 2010-05-03 15:42:58 +02:00
controlfb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
controlfb.h
cyber2000fb.c VIDEO: cyberpro: remove unused cyber2000fb_get_fb_var() 2011-02-11 10:16:07 +00:00
cyber2000fb.h VIDEO: cyberpro: remove unused cyber2000fb_get_fb_var() 2011-02-11 10:16:07 +00:00
da8xx-fb.c video: da8xx-fb: fix section mismatch warning 2011-05-24 15:59:48 +09:00
dnfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
edid.h video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET 2011-03-22 16:45:03 +09:00
efifb.c efifb: Fix call to wrong unregister function 2011-06-14 16:37:46 +09:00
ep93xx-fb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
epson1355fb.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fb_ddc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fb_defio.c workqueue: convert cancel_rearming_delayed_work[queue]() users to cancel_delayed_work_sync() 2010-12-15 10:56:11 +01:00
fb_draw.h fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
fb_notify.c
fb_sys_fops.c
fb-puv3.c unicore32 framebuffer fix: get videomemory by __get_free_pages() and make it floatable 2011-04-02 16:17:38 +08:00
fbcmap.c framebuffer: fix fbcmap.c kernel-doc warning 2010-11-26 15:05:08 +09:00
fbcvt.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
fbmem.c Further fbcon sanity checking 2011-05-14 10:28:54 -07:00
fbmon.c fbdev: when parsing E-EDID blocks, also use SVD entries 2010-11-15 14:52:23 +09:00
fbsysfs.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ffb.c video: ffb: fix ffb_probe error path 2011-03-22 16:18:51 +09:00
fm2fb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
fsl-diu-fb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
g364fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
gbefb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
gxt4500.c
hecubafb.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
hgafb.c video: Fix the HGA framebuffer driver 2011-01-06 15:48:13 +09:00
hitfb.c hitfb: fix sections 2010-05-25 08:07:09 -07:00
hpfb.c video: hpfb: use resource_size() 2011-03-22 16:07:32 +09:00
igafb.c drivers/video/igafb.c: make igafb_setup() and igafb_init() static 2010-08-11 08:59:12 -07:00
imsttfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
imxfb.c drivers/video/imxfb.c: add missing clk_put 2011-06-02 17:07:41 +09:00
jz4740_fb.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
Kconfig video: mb862xx: add support for controller's I2C bus adapter 2011-05-24 16:28:52 +02:00
leo.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
macfb.c macfb: fix 24-bit visual and stuff 2010-02-27 18:31:16 +01:00
macmodes.c fbdev: add some missing mac modes 2010-02-27 18:31:14 +01:00
macmodes.h
Makefile sh_mobile_meram: MERAM framework for LCDC 2011-05-23 16:06:24 +09:00
maxinefb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
metronomefb.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
modedb.c savagefb: Use panel CVT mode as default 2011-06-02 17:05:18 +09:00
mx3fb.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
mxsfb.c treewide: remove extra semicolons 2011-04-10 17:01:05 +02:00
n411.c
neofb.c
nuc900fb.c video: nuc900fb: properly free resources in nuc900fb_remove 2011-01-18 13:38:06 +09:00
nuc900fb.h Fix common misspellings 2011-03-31 11:26:23 -03:00
offb.c of/address: Clean up function declarations 2010-08-01 01:42:42 -06:00
output.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
p9100.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
platinumfb.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
platinumfb.h
pm2fb.c tree-wide: s/widht/width/g typo in comments 2010-02-05 12:22:42 +01:00
pm3fb.c
pmag-aa-fb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pmag-ba-fb.c VIDEO: PMAG-BA: Fix section mismatch 2010-07-26 19:08:14 +01:00
pmagb-b-fb.c VIDEO: PMAGB-B: Fix section mismatch 2010-07-26 19:08:15 +01:00
ps3fb.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
pvr2fb.c sh: Fix up more 64-bit pgprot truncation on SH-X2 TLB. 2010-02-17 13:23:00 +09:00
pxa3xx-gcu.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pxa3xx-gcu.h video: add driver for PXA3xx 2D graphics accelerator 2010-12-16 14:31:18 +08:00
pxa168fb.c drivers/video/pxa168fb.c: add missing clk_put 2011-06-02 17:07:46 +09:00
pxa168fb.h fb: add support of LCD display controller on pxa168/910 (base layer) 2009-06-13 00:09:09 +08:00
pxafb.c ARM: pxafb: Fix access to nonexistent member of pxafb_info 2011-04-12 23:07:42 +08:00
pxafb.h ARM: pxafb: rework pxafb overlay memory management 2011-03-16 17:37:03 +08:00
q40fb.c fbdev/m68k: Fix section mismatches in q40fb.c 2010-10-22 09:43:25 +02:00
s1d13xxxfb.c s1d13xxxfb: drop unused code 2010-12-21 01:05:43 +09:00
s3c2410fb.c drivers/video/s3c2410fb.c: Convert release_resource to release_mem_region 2011-05-24 16:09:03 +09:00
s3c2410fb.h s3c-fb: CPUFREQ frequency scaling support 2009-06-16 19:47:59 -07:00
s3c-fb.c video: s3c-fb: move enabling channel for window 2011-06-09 14:59:56 +09:00
s3fb.c s3fb: fix up DDC build with MTRR disabled. 2011-04-20 18:20:26 +09:00
sa1100fb.c platform-drivers: move probe to .devinit.text in drivers/video 2010-03-07 17:04:50 -08:00
sa1100fb.h sa1100fb: fix color component length for pseudocolor modes 2009-04-13 15:04:29 -07:00
sbuslib.c
sbuslib.h
sgivwfb.c sgivwfb: fix sections 2010-05-25 08:07:09 -07:00
sh7760fb.c drivers/video: Convert release_resource to release_mem_region 2011-05-24 16:08:54 +09:00
sh_mipi_dsi.c fbdev: sh_mipi_dsi: use platform provided register layout and values 2011-01-05 17:22:32 +09:00
sh_mobile_hdmi.c fbdev: sh_mobile_hdmi: fix regression: statically enable RTPM 2011-06-15 14:51:46 +09:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdcfb: Fix up fallout from MERAM changes. 2011-06-02 16:53:43 +09:00
sh_mobile_lcdcfb.h sh_mobile_meram: MERAM framework for LCDC 2011-05-23 16:06:24 +09:00
sh_mobile_meram.c sh_mobile_meram: Add support for NV24 framebuffers 2011-05-23 16:06:26 +09:00
sh_mobile_meram.h sh_mobile_meram: MERAM framework for LCDC 2011-05-23 16:06:24 +09:00
skeletonfb.c fbdev: fix color component field length documentation 2009-04-13 15:04:29 -07:00
sm501fb.c drivers/video/sm501fb.c: Convert release_resource to release_mem_region 2011-05-24 16:08:59 +09:00
sstfb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
sticore.h Fix common misspellings 2011-03-31 11:26:23 -03:00
stifb.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
sunxvr500.c Merge branch 'master' into export-slabh 2010-04-05 11:37:28 +09:00
sunxvr1000.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
sunxvr2500.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
svgalib.c svga: Make svga_set_timings() take an iomem regbase pointer. 2011-03-22 15:47:22 +09:00
syscopyarea.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysfillrect.c fbdev: fix fillrect for 24bpp modes 2009-05-06 16:36:10 -07:00
sysimgblt.c
tcx.c video: add missing framebuffer_release in error path 2011-03-22 16:35:44 +09:00
tdfxfb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
tgafb.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
tmiofb.c fb: Use platform_data to retrieve tmiofb platform bits 2011-05-26 19:45:03 +02:00
tridentfb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
udlfb.c udlfb: include prefetch.h explicitly 2011-05-24 16:11:18 +09:00
uvesafb.c uvesafb,vesafb: create WC or WB PAT-entries 2011-03-22 16:20:44 +09:00
valkyriefb.c valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
valkyriefb.h valkyriefb: various fixes 2010-02-27 18:31:13 +01:00
vesafb.c uvesafb,vesafb: create WC or WB PAT-entries 2011-03-22 16:20:44 +09:00
vfb.c fbdev: section cleanup in vfb 2010-05-25 08:07:08 -07:00
vga16fb.c video: Fix use-after-free by vga16fb on rmmod 2011-06-06 18:14:45 +09:00
vgastate.c
vt8500lcdfb.c fbdev: Implement simple blanking in pseudocolor modes for vt8500lcdfb 2011-01-13 13:07:41 +09:00
vt8500lcdfb.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
vt8623fb.c vt8623fb: Compute VGA base iomem pointer explicitly. 2011-03-22 15:47:59 +09:00
w100fb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
w100fb.h
wm8505fb_regs.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
wm8505fb.c fbdev: Modify vsync timing calculation in wm8505fb 2010-12-21 01:05:48 +09:00
wmt_ge_rops.c fbdev: Minor cleanup in WM8505-related code 2010-12-21 01:05:43 +09:00
wmt_ge_rops.h ARM: Add support for the display controllers in VT8500 and WM8505 2010-11-09 18:52:07 +09:00
xen-fbfront.c video: Convert vmalloc/memset to vzalloc 2011-06-02 17:25:35 +09:00
xilinxfb.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00