aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/fbdev/omap2/dss/dsi.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2014-12-14Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-coreLinus Torvalds1-1/+0
Pull driver core update from Greg KH: "Here's the set of driver core patches for 3.19-rc1. They are dominated by the removal of the .owner field in platform drivers. They touch a lot of files, but they are "simple" changes, just removing a line in a structure. Other than that, a few minor driver core and debugfs changes. There are some ath9k patches coming in through this tree that have been acked by the wireless maintainers as they relied on the debugfs changes. Everything has been in linux-next for a while" * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits) Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries" fs: debugfs: add forward declaration for struct device type firmware class: Deletion of an unnecessary check before the function call "vunmap" firmware loader: fix hung task warning dump devcoredump: provide a one-way disable function device: Add dev_<level>_once variants ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries ath: use seq_file api for ath9k debugfs files debugfs: add helper function to create device related seq_file drivers/base: cacheinfo: remove noisy error boot message Revert "core: platform: add warning if driver has no owner" drivers: base: support cpu cache information interface to userspace via sysfs drivers: base: add cpu_device_create to support per-cpu devices topology: replace custom attribute macros with standard DEVICE_ATTR* cpumask: factor out show_cpumap into separate helper function driver core: Fix unbalanced device reference in drivers_probe driver core: fix race with userland in device_add() sysfs/kernfs: make read requests on pre-alloc files use the buffer. sysfs/kernfs: allow attributes to request write buffer be pre-allocated. fs: sysfs: return EGBIG on write if offset is larger than file size ...
2014-11-12OMAPDSS: DSI: use common DSS PLL supportTomi Valkeinen1-363/+203
Now that we have the common DSS PLL support, change DSI to use it. This results in quite a lot of changes, but almost all of them are trivial name changes. The functions to calculate and program the PLL settings can be removed from dsi.c, as the common PLL API contains the same functionality. We also need to create struct dss_pll_hw entries for PLL hardware features for different OMAP platforms, instead of using the dss_features.c as the old code does. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: dsi_runtime_get/put in pll_initTomi Valkeinen1-2/+8
When DPI uses the DSI PLL for pixel clock, the DPI code will call dsi_runtime_get/put to keep the DSI block enabled. A much simpler way to handle this is to do dsi_runtime_get/put in DSI's dsi_pll_init() and dsi_pll_uninit(), thus removing the need for DSI to call the runtime PM functions. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: features: combine dsi & dispc hsdivsTomi Valkeinen1-7/+6
The HSDIV outputs of DSI PLL (and also other PLLs) all have the same bit width for the divider value. Simplify the code by merging HSDIV divider widths into one width. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: turn hsdivs fields to arraysTomi Valkeinen1-30/+34
We are creating a common DSS PLL code, so having fixed DSI specific hsdiv fields in the clock information is not ok. This patch changes the hsdiv fields to arrays, so that we can use all the 4 possible hsdiv outputs (DSI only usees 2), and we have generic way to access the hsdivs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: rename clkin4ddr to clkdcoTomi Valkeinen1-18/+18
We are creating a common DSS PLL code, so rename 'clkin4ddr' field, which is DSI specific name, to 'clkdco' which is a generic name. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: use struct copy instead of individual field copyTomi Valkeinen1-11/+1
Now that dsi_clock_info only contains information about the PLL, we can just copy the whole struct when storing the clock information, instead of copying individual fields. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: remove pll_locked fieldTomi Valkeinen1-10/+0
We have pll_locked field in struct dsi_data, but it doesn't have any meaningful use anymore, and can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: remove clkin from dsi_clock_infoTomi Valkeinen1-9/+4
struct dsi_clock_info contains clkin field, which is the rate of the PLL's input clock. This field is not needed, as it can be easily retrieved by using the clk_get_rate(). This patch removes the clkin field. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: separate LP clock info from dsi_clock_infoTomi Valkeinen1-11/+19
struct dsi_clock_info represents the clocks handled by the DSI, mostly PLL related clocks. In an effort to create common PLL code, we need to remove all the non-PLL items from dsi_clock_info. This patch removes LP clock related fields from dsi_clock_info, and creates a new struct dsi_lp_clock_info for holding clock info for the LP clock. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: always power on hsclk & hsdivTomi Valkeinen1-20/+3
The DSS PLL has support to power on the PLL's highspeed clock output and HSDIV output separately. In practice both need to powered on, as in most OMAP's that's the only working configuration. We already do that in dsi_pll_init(), by overriding the passed arguments so that both are always powered. Simplify the code by removing the support for choosing which outputs to power on. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: remove unused hsdiv wait funcsTomi Valkeinen1-15/+0
With the previous patch "OMAPDSS: DSI: wait for hsdiv clocks when enabling PLL", dsi_wait_pll_hsdiv_dispc_active and dsi_wait_pll_hsdiv_dsi_active are no longer needed, so they and the callers can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-12OMAPDSS: DSI: wait for hsdiv clocks when enabling PLLTomi Valkeinen1-0/+21
At the moment we have two functions to wait for the HSDIV clocks to get active, dsi_wait_pll_hsdiv_dispc_active and dsi_wait_pll_hsdiv_dsi_active. Instead of such inconvenient functions, let's just make sure that the hsdiv clocks are active after the pll has been enabled. This patch adds code to dsi_pll_set_clock_div() to wait until HSDIV clocks are active. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-11-03Merge branch 'platform/remove_owner' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux into driver-core-nextGreg Kroah-Hartman1-1/+0
Remove all .owner fields from platform drivers
2014-10-22OMAPDSS: DSI: Fix PLL_SELFEQDCO field widthTomi Valkeinen1-1/+1
PLL_SELFREQDCO bitfield is from bit 3 to 1, but the driver writes bits from 4 to 1. The bit 4 is 'reserved', so this probably should not cause any issues, but it's better to fix it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-22OMAPDSS: set suppress_bind_attrsTomi Valkeinen1-0/+1
omapdss drivers cannot handle devices being unbound while the devices are part of a connected display pipeline. Module refcounts are used to prevent unloading the modules, but one can still manually unbind the devices via sysfs, causing crash. Set suppress_bind_attrs to disable the bind/unbind support via sysfs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-10-20video: fbdev: omap2: dss: drop owner assignment from platform_driversWolfram Sang1-1/+0
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-08-26OMAPDSS: DSI: use c99 initializers in structuresJulia Lawall1-2/+8
Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-08-08OMAPDSS: DSI: fix depopulating dsi peripheralsTomi Valkeinen1-8/+1
After v3.16-rc1, devices populated with of_platform_populate() should be depopulated using of_platform_depopulate(). Failure to do so prevents the devices from being populated again (e.g. when loading a module). This patch fixes the problem for the OMAP DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: DSI: Add OMAP5 DSI module IDsTomi Valkeinen1-0/+7
Add OMAP5 DSI module ID support to the OMAP DSI driver. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-09OMAPDSS: Add DSS features for AM43xxSathya Prakash M R1-0/+1
Add DSS features for AM43xx. Signed-off-by: Sathya Prakash M R <sathyap@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-05-07OMAPDSS: DSI: set regulator voltage to 1.8VTomi Valkeinen1-0/+10
Set the DSI vdd regulator voltage to the required 1.8V. This is required for the case when the regulator in the DT data defines a range of allowed voltages. In this case it's required to set the voltage, as otherwise enabling the voltage fails. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2014-04-17video: move fbdev to drivers/video/fbdevTomi Valkeinen1-0/+5751
The drivers/video directory is a mess. It contains generic video related files, directories for backlight, console, linux logo, lots of fbdev device drivers, fbdev framework files. Make some order into the chaos by creating drivers/video/fbdev directory, and move all fbdev related files there. No functionality is changed, although I guess it is possible that some subtle Makefile build order related issue could be created by this patch. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>