kernel-hacking-2024-linux-s.../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
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
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
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
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
atafb.c m68k/atari: Do not use "/" in interrupt names 2011-05-19 18:19:10 +02:00
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c Fix common misspellings 2011-03-31 11:26:23 -03:00
au1100fb.c
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-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
bfin_adv7393fb.c
bfin_adv7393fb.h Fix common misspellings 2011-03-31 11:26:23 -03: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.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c
carminefb.h
carminefb_regs.h
cfbcopyarea.c
cfbfillrect.c
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
clps711xfb.c
cobalt_lcdfb.c
controlfb.c
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
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
fb-puv3.c unicore32 framebuffer fix: get videomemory by __get_free_pages() and make it floatable 2011-04-02 16:17:38 +08:00
fb_ddc.c
fb_defio.c
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c Further fbcon sanity checking 2011-05-14 10:28:54 -07:00
fbmon.c
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
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
hitfb.c
hpfb.c video: hpfb: use resource_size() 2011-03-22 16:07:32 +09:00
igafb.c
imsttfb.c
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
macmodes.c
macmodes.h
Makefile sh_mobile_meram: MERAM framework for LCDC 2011-05-23 16:06:24 +09:00
maxinefb.c
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
output.c
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
pm3fb.c
pmag-aa-fb.c
pmag-ba-fb.c
pmagb-b-fb.c
ps3fb.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
pvr2fb.c
pxa3xx-gcu.c Fix common misspellings 2011-03-31 11:26:23 -03:00
pxa3xx-gcu.h
pxa168fb.c drivers/video/pxa168fb.c: add missing clk_put 2011-06-02 17:07:46 +09:00
pxa168fb.h
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
s1d13xxxfb.c
s3c-fb.c video: s3c-fb: move enabling channel for window 2011-06-09 14:59:56 +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
s3fb.c s3fb: fix up DDC build with MTRR disabled. 2011-04-20 18:20:26 +09:00
sa1100fb.c
sa1100fb.h
sbuslib.c
sbuslib.h
sgivwfb.c
sh7760fb.c drivers/video: Convert release_resource to release_mem_region 2011-05-24 16:08:54 +09:00
sh_mipi_dsi.c
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
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
sunxvr500.c
sunxvr1000.c dt/video: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:45 -07:00
sunxvr2500.c
svgalib.c svga: Make svga_set_timings() take an iomem regbase pointer. 2011-03-22 15:47:22 +09:00
syscopyarea.c
sysfillrect.c
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
tmiofb.c fb: Use platform_data to retrieve tmiofb platform bits 2011-05-26 19:45:03 +02:00
tridentfb.c
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.h
vesafb.c uvesafb,vesafb: create WC or WB PAT-entries 2011-03-22 16:20:44 +09:00
vfb.c
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
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.c
wm8505fb_regs.h
wmt_ge_rops.c
wmt_ge_rops.h
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