WSL2-Linux-Kernel/drivers/video
Darren Etheridge 2dfa77a201 video: da8xx-fb: set upstream clock rate (if reqd)
Based on original patch by: Afzal Mohammed <afzal@ti.com>

LCDC IP has a clock divider to adjust pixel clock, this limits pixel
clock range to fck/255 - fck/2(fck - rate of input clock to LCDC IP).
In the case of AM335x, where this IP is present, default fck is not
sufficient to provide normal pixel clock rates, hence rendering this
driver unusable on AM335x.

If input clock too is configurable, allowable range of pixel clock
would increase. Here initially it is checked whether with present fck,
divider in IP could be configured to obtain required rate, if not,
fck is adjusted. This makes it usable on AM335x.

Note:
Another solution would be to model an inherited basic clock divider of
CCF, an advantage would be a better possible resolution for pixel clk.
And trying to instantiate a CCF clock would mean that to be consistent,
3 bits being turned on to enable clocks of LCDC IP would have to be
modeled as gate clocks. Now that would bring in a total of 4 clocks,
including necessity to create a new inherited divider clock, and that
mean a branch of clock tree would be present in LCDC driver. This
would add complexity to LCDC driver bringing in considerable amount
of clock handling code, and this would not bring in much advantage
for existing use cases other than providing a higher resolution of
pixel clock. And existing use cases work without relying on clock
modeling. Another fact is that out of the two platform's using this
driver DaVinci is not yet converted to CCF. In future if higher
resolution of pixel clock is required, and probably after DaVinci is
CCF'ed, modeling clock nodes inside driver may be considered.

v2: purely cosmetic changes to try and clarify what variables are
	being used for in the clock rate / divider calculations

Signed-off-by: Darren Etheridge <detheridge@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2013-08-09 14:02:43 +03:00
..
aty radeon: use pdev->pm_cap instead of pci_find_capability(..,PCI_CAP_ID_PM) 2013-06-27 09:35:36 +03:00
backlight backlight: convert from legacy pm ops to dev_pm_ops 2013-07-03 16:07:43 -07:00
console Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-07-09 16:04:31 -07:00
exynos Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
geode build some drivers only when compile-testing 2013-06-24 16:41:32 -07:00
i810 Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
intelfb Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
kyro Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
logo Linux 3.11-rc1 2013-07-14 15:18:27 -07:00
matrox matroxfb: convert struct i2c_msg initialization to C99 format 2013-04-29 15:54:26 -07:00
mb862xx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mbx Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
mmp Various fbdev changes for 3.11 2013-06-28 18:01:28 +08:00
msm new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nvidia Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
omap ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE" 2013-04-10 15:03:31 +03:00
omap2 Various fbdev changes for 3.11 2013-07-09 15:51:32 -07:00
riva Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
savage Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sis Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
vermilion fbdev/vermillion: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
via viafb: rename display_timing to via_display_timing 2013-01-24 08:59:44 +01:00
68328fb.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
Kconfig video: imxfb: Add DT support 2013-07-08 16:36:49 +08:00
Makefile lib: Move fonts from drivers/video/console/ to lib/fonts/ 2013-06-28 10:28:22 +02:00
acornfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
acornfb.h
amba-clcd.c
amifb.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
arcfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
arkfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
asiliantfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
atafb.c
atafb.h
atafb_iplan2p2.c
atafb_iplan2p4.c
atafb_iplan2p8.c
atafb_mfb.c
atafb_utils.h
atmel_lcdfb.c atmel_lcdfb: blank the backlight on remove 2013-06-01 03:18:55 +08:00
au1100fb.c Various fbdev changes for 3.11 2013-07-09 15:51:32 -07:00
au1100fb.h
au1200fb.c au1200fb: io_remap_pfn_range() sets VM_IO 2013-06-29 12:46:42 +04:00
au1200fb.h
auo_k190x.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-04-30 09:36:50 -07:00
auo_k190x.h
auo_k1900fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
auo_k1901fb.c AUO-K190x: add runtime-pm calls to controller init functions 2013-04-04 13:08:06 +03:00
bf54x-lq043fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
bf537-lq035.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bfin-lq035q1-fb.c fbdev: bfin-lq035q1-fb: Use dev_pm_ops 2013-06-26 16:16:26 +03:00
bfin-t350mcqb-fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
bfin_adv7393fb.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
bfin_adv7393fb.h
broadsheetfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
bt431.h
bt455.h
bw2.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
c2p.h
c2p_core.h
c2p_iplan2.c
c2p_planar.c
carminefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
carminefb.h
carminefb_regs.h
cfbcopyarea.c
cfbfillrect.c
cfbimgblt.c
cg3.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg6.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cg14.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
chipsfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cirrusfb.c powerpc: remove PReP platform 2013-04-18 13:03:53 +10:00
clps711xfb.c ARM defconfigs: add missing inclusions of linux/platform_device.h 2013-02-14 15:14:32 -08:00
cobalt_lcdfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
controlfb.c fbdev/controlfb: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
controlfb.h
cyber2000fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
cyber2000fb.h
da8xx-fb.c video: da8xx-fb: set upstream clock rate (if reqd) 2013-08-09 14:02:43 +03:00
display_timing.c video: add display_timing and videomode 2013-01-24 09:03:04 +01:00
dnfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
edid.h
efifb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ep93xx-fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
fb-puv3.c fbdev/fb-puv3: use vm_iomap_memory() 2013-04-24 08:41:41 +03:00
fb_ddc.c
fb_defio.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
fb_draw.h
fb_notify.c
fb_sys_fops.c
fbcmap.c
fbcvt.c
fbmem.c Various fbdev changes for 3.11 2013-06-28 18:01:28 +08:00
fbmon.c Merge branch '3.10/fb-mmap' into for-next 2013-04-26 09:14:47 +03:00
fbsysfs.c fb: rework locking to fix lock ordering on takeover 2013-02-08 12:02:40 +10:00
ffb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
fsl-diu-fb.c video: replace strict_strtoul() with kstrtoul() 2013-06-26 15:19:48 +03:00
g364fb.c
gbefb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
goldfishfb.c treewide: Fix typos in printk 2013-03-20 16:26:32 +01:00
grvga.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
gxt4500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hdmi.c video: hdmi: Relicense under MIT 2013-04-12 14:01:40 +10:00
hecubafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hitfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hpfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
hyperv_fb.c drivers/video: add Hyper-V Synthetic Video Frame Buffer Driver 2013-04-29 15:54:26 -07:00
i740_reg.h
i740fb.c video: i740fb: Make i740fb_init static 2013-06-27 11:57:30 +03:00
igafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imsttfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
imxfb.c video: imxfb: Add DT support 2013-07-08 16:36:49 +08:00
jz4740_fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
leo.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
macfb.c
macmodes.c
macmodes.h
maxinefb.c
metronomefb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
modedb.c
mx3fb.c drivers/video/mx3fb.c: use NULL for pointer 2013-02-21 17:22:19 -08:00
mxsfb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
n411.c
neofb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
nuc900fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
nuc900fb.h
of_display_timing.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-07-09 16:04:31 -07:00
of_videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
offb.c
output.c drivers: avoid format string in dev_set_name 2013-07-03 16:07:41 -07:00
p9100.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
platinumfb.h
pm2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pm3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmag-aa-fb.c
pmag-ba-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pmagb-b-fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
ps3fb.c fbdev/ps3fb: fix compile warning 2013-05-02 14:59:21 +03:00
pvr2fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa3xx-gcu.c Various fbdev changes for 3.11 2013-07-09 15:51:32 -07:00
pxa3xx-gcu.h
pxa168fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
pxa168fb.h
pxafb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
pxafb.h
q40fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
s1d13xxxfb.c treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
s3c-fb.c video/s3c: move platform_data out of arch/arm 2013-04-11 14:49:20 +03:00
s3c2410fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
s3c2410fb.h
s3fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sa1100fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
sa1100fb.h
sbuslib.c mm: kill vma flag VM_RESERVED and mm->reserved_vm counter 2012-10-09 16:22:19 +09:00
sbuslib.h
sgivwfb.c fbdev/sgivwfb: use vm_iomap_memory() 2013-04-24 08:41:42 +03:00
sh7760fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
sh_mipi_dsi.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
sh_mobile_hdmi.c drivers: video: use module_platform_driver_probe() 2013-04-10 15:03:31 +03:00
sh_mobile_lcdcfb.c fbdev: sh_mobile_lcdc: fixup B side hsync adjust settings 2013-03-27 22:47:24 +09:00
sh_mobile_lcdcfb.h fbdev: sh_mobile_lcdc: Store the backlight brightness internally 2012-11-21 15:50:01 +01:00
sh_mobile_meram.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
simplefb.c drivers/video: implement a simple framebuffer driver 2013-05-24 16:22:51 -07:00
skeletonfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sm501fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
smscufx.c video: smscufx: Use NULL instead of 0 2013-06-26 14:50:53 +03:00
ssd1307fb.c video: ssd1307fb: Make use of horizontal addressing mode 2013-05-28 14:41:58 +03:00
sstfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sticore.h
stifb.c
sunxvr500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr1000.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
sunxvr2500.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
svgalib.c
syscopyarea.c
sysfillrect.c
sysimgblt.c
tcx.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tdfxfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tgafb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
tmiofb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
tridentfb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
udlfb.c video: udlfb: Make local symbol static 2013-06-26 14:51:18 +03:00
uvesafb.c uvesafb: Really allow mtrr being 0, as documented and warn()ed 2013-07-16 10:24:28 +10:00
valkyriefb.c
valkyriefb.h
vesafb.c
vfb.c fbdev: improve fb_mmap bounds checks 2013-04-26 08:28:56 +03:00
vga16fb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
vgastate.c
videomode.c videomode: videomode_from_timing work 2013-03-21 14:34:33 +02:00
vt8500lcdfb.c video: remove unnecessary platform_set_drvdata() 2013-06-26 14:44:40 +03:00
vt8500lcdfb.h
vt8623fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
w100fb.h
wm8505fb.c video: replace strict_strtoul() with kstrtoul() 2013-06-26 15:19:48 +03:00
wm8505fb_regs.h
wmt_ge_rops.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
wmt_ge_rops.h video: vt8500: Make wmt_ge_rops optional 2013-04-04 13:07:33 +03:00
xen-fbfront.c Drivers: video: remove __dev* attributes. 2013-01-03 15:57:01 -08:00
xilinxfb.c video: xilinxfb: Add support for little endian accesses 2013-06-26 13:33:41 +03:00