Merge branch 'p-ti-linux-3.8.y' into p-ti-android-3.8.y
* p-ti-linux-3.8.y:
PM / OPP: Export more symbols for module usage
PM / OPP: switch exported symbols to GPL variant
arm: dts: omap5: Add _ck to dpll_mpu
arm: dts: dra7xx: Add _ck to dpll_mpu
clk: OMAP: Remove _ck assumption for DT bindings
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
* p-ti-linux-3.8.y:
PM / OPP: Export more symbols for module usage
PM / OPP: switch exported symbols to GPL variant
arm: dts: omap5: Add _ck to dpll_mpu
arm: dts: dra7xx: Add _ck to dpll_mpu
clk: OMAP: Remove _ck assumption for DT bindings
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
PM / OPP: Export more symbols for module usage
Export cpufreq helpers in OPP to make the cpufreq-core0 and highbank-cpufreq
drivers loadable as modules.
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Export cpufreq helpers in OPP to make the cpufreq-core0 and highbank-cpufreq
drivers loadable as modules.
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
PM / OPP: switch exported symbols to GPL variant
We are GPLV2 library, so be clear in the symbols exported as well.
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
We are GPLV2 library, so be clear in the symbols exported as well.
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arm: dts: omap5: Add _ck to dpll_mpu
Clock frame work makes an incorrect assumption that all clock nodes
end in _ck. DT entries should have the whole name of the clock for
all clocks to be supported by omap clock framework. Not all clocks
have _ck suffix.
e.g: OMAP5 clocks: gpu_core_gclk_mux, mmc1_fclk_mux
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Clock frame work makes an incorrect assumption that all clock nodes
end in _ck. DT entries should have the whole name of the clock for
all clocks to be supported by omap clock framework. Not all clocks
have _ck suffix.
e.g: OMAP5 clocks: gpu_core_gclk_mux, mmc1_fclk_mux
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
arm: dts: dra7xx: Add _ck to dpll_mpu
Clock frame work makes an incorrect assumption that all clock nodes
end in _ck. DT entries should have the whole name of the clock for
all clocks to be supported by omap clock framework. Not all clocks
have _ck suffix.
e.g: DRA7xx clocks: gpu_core_gclk_mux, hdmi_dpll_clk_mux, eve_clk
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Clock frame work makes an incorrect assumption that all clock nodes
end in _ck. DT entries should have the whole name of the clock for
all clocks to be supported by omap clock framework. Not all clocks
have _ck suffix.
e.g: DRA7xx clocks: gpu_core_gclk_mux, hdmi_dpll_clk_mux, eve_clk
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
clk: OMAP: Remove _ck assumption for DT bindings
Not all clocks have _ck suffix and this assumption was incorrect.
e.g: DRA7xx clocks: gpu_core_gclk_mux, hdmi_dpll_clk_mux, eve_clk
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Not all clocks have _ck suffix and this assumption was incorrect.
e.g: DRA7xx clocks: gpu_core_gclk_mux, hdmi_dpll_clk_mux, eve_clk
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[cherry-pick and format for 3.8 sdk kernel]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
defconfig: android: SD: Enable FUSE FS
SD Card emulator expects FUSE FS to be
enabled for android.
hence enable support of
CONFIG_FUSE_FS (Filesystem in userspace)
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
SD Card emulator expects FUSE FS to be
enabled for android.
hence enable support of
CONFIG_FUSE_FS (Filesystem in userspace)
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
Merge branch 'p-ti-linux-3.8.y' into p-ti-android-3.8.y
* p-ti-linux-3.8.y:
ARM: DTS: DRA7: Enable OPP High
ARM: dts: omap5-sevm: remove un-supported platform
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
* p-ti-linux-3.8.y:
ARM: DTS: DRA7: Enable OPP High
ARM: dts: omap5-sevm: remove un-supported platform
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ARM: DTS: DRA7: Enable OPP High
Enable OPP_HIGH since the DRA7 samples have this
feature supported.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Enable OPP_HIGH since the DRA7 samples have this
feature supported.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ARM: dts: omap5-sevm: remove un-supported platform
Remove OMAP5-SEVM support which no longer is supported by TI.
+ build is broken with wrong Palmas LDO dependencies as well.
Just get rid of the platform we dont plan to maintain.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Remove OMAP5-SEVM support which no longer is supported by TI.
+ build is broken with wrong Palmas LDO dependencies as well.
Just get rid of the platform we dont plan to maintain.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
OMAP5: android: defconfig: Enable display and video features
This patch is to enable and display and video related features
to enable android accelerated UI on omap5 dev platform.
Consolidating patches from dra7 to omap5:
--
1)
commit 02668727d1125cd8526369d3e0d5ce9530753532
Author: Sunita Nadampalli <sunitan@ti.com>
OMAPDSS: DSSCOMP: OMAPLFB: Enabling dual FB configuration for multidisplay feature
--
2)
commit d2f13867b69439378e869550e67037eb107a5082
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPLFB: Enable OMAPLFB for compilation
--
3)
commit f5b28cfa40145c8eafec24a4ea0d4f6297ab811f
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: DSSCOMP: Configuration changes
--
4)
commit f9df0416a3c54fd879eb41b2dc35b7f25cd5819b
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Enable OMAPFB in the kernel
--
5)
commit 57256c26ecf2279416be65be5a9c016295b193d8
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Fix fb initialization
--
6)
commit 15e2bd1fe8dc7a5d1f5d2af7cf8b4258deb0f4c2
Author: Dandawate Saket <dsaket@ti.com>
gpu: ion: Enable ion for compilation
--
7)
commit 9e9fcd68c665bb26c22c0ad56c72c5438450d5f3
Author: Dandawate Saket <dsaket@ti.com>
gpu: ion: Configuration changes
--
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
This patch is to enable and display and video related features
to enable android accelerated UI on omap5 dev platform.
Consolidating patches from dra7 to omap5:
--
1)
commit 02668727d1125cd8526369d3e0d5ce9530753532
Author: Sunita Nadampalli <sunitan@ti.com>
OMAPDSS: DSSCOMP: OMAPLFB: Enabling dual FB configuration for multidisplay feature
--
2)
commit d2f13867b69439378e869550e67037eb107a5082
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPLFB: Enable OMAPLFB for compilation
--
3)
commit f5b28cfa40145c8eafec24a4ea0d4f6297ab811f
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: DSSCOMP: Configuration changes
--
4)
commit f9df0416a3c54fd879eb41b2dc35b7f25cd5819b
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Enable OMAPFB in the kernel
--
5)
commit 57256c26ecf2279416be65be5a9c016295b193d8
Author: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Fix fb initialization
--
6)
commit 15e2bd1fe8dc7a5d1f5d2af7cf8b4258deb0f4c2
Author: Dandawate Saket <dsaket@ti.com>
gpu: ion: Enable ion for compilation
--
7)
commit 9e9fcd68c665bb26c22c0ad56c72c5438450d5f3
Author: Dandawate Saket <dsaket@ti.com>
gpu: ion: Configuration changes
--
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ARM: GPIO: android: defconfig: Enable GPIO Switch Class support
As per
Documentation/android.txt
Section 1.1 : Required enabled config options
switch class support is a requirement for android
to allow userspace events on top of standard configuration.
This allows monitoring switches by userspace via sysfs and uevent.
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
As per
Documentation/android.txt
Section 1.1 : Required enabled config options
switch class support is a requirement for android
to allow userspace events on top of standard configuration.
This allows monitoring switches by userspace via sysfs and uevent.
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ARM: OMAP: android: defconfig: Enable Kernel Preemption
Extension to mentioned commit , But on android_omap5_defconfig
and android_dra7_defconfig
commit 852f4296d5b34231e19d89070d25008b8c79a03e
ARM: OMAP: omap2plus_defconfig: Enable Kernel Preemption
This patch is to enable kernel preemption on minimal omap config.
This gives the ability for OS to preempt a current scheduled task
in favor of a higher priority one.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Extension to mentioned commit , But on android_omap5_defconfig
and android_dra7_defconfig
commit 852f4296d5b34231e19d89070d25008b8c79a03e
ARM: OMAP: omap2plus_defconfig: Enable Kernel Preemption
This patch is to enable kernel preemption on minimal omap config.
This gives the ability for OS to preempt a current scheduled task
in favor of a higher priority one.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Merge remote-tracking branch 'origin/p-ti-linux-3.8.y' into p-ti-android-3.8.y
* origin/p-ti-linux-3.8.y:
ARM: OMAP: omap2plus_defconfig: Enable Kernel Preemption
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
* origin/p-ti-linux-3.8.y:
ARM: OMAP: omap2plus_defconfig: Enable Kernel Preemption
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
ARM: OMAP: omap2plus_defconfig: Enable Kernel Preemption
This patch is to enable kernel preemption on minimal omap config.
This gives the ability for OS to preempt a current scheduled task
in favor of a higher priority one.
Change-Id: I5d39d9494172cbebf77386f9390ca813bab3533f
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
This patch is to enable kernel preemption on minimal omap config.
This gives the ability for OS to preempt a current scheduled task
in favor of a higher priority one.
Change-Id: I5d39d9494172cbebf77386f9390ca813bab3533f
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Merge branch 'p-ti-android-3.8.y-video' of git://git.ti.com/android-sdk/kernel-video into p-ti-android-3.8.y
* 'p-ti-android-3.8.y-video' of git://git.ti.com/android-sdk/kernel-video: (103 commits)
HDMI: Add reading edid and mode db creation
HDMI: Select correct clock source.
HDMI: Select DVI or HDMI based on EDID
HDMI: Add fb mode db construction
HDMI: Add edid read and clear functions
HDMI: Add FB mode database setting support
OMAPDSS: HDMI: Add setmode support for android
OMAP: HDMI : Add initial support for fb mode translation
OMAPDSS: OMAPLFB: (HACK) Use VRAM buffers instead of tiler 2D
OMAPDSS: OMAPLFB: VRAM buffers for second FB.
gpu: OMAP2: generic Android display configuration setup
OMAPDSS: DSSCOMP: OMAPLFB: Enabling dual FB configuration for multidisplay feature
gpu: android-display: DO NOT MERGE: android display compilation fixes
gc320: OMAP4:GCXXX: Fixing build warnings
OMAPDSS: OMAPLFB: Fix compilation issue for tiler path
gpu: omap_hwc: Adds a flag to hint omaplfb a blit FB is needed
gpu: omap_hwc: Describe the api agreement with omaplfb
gc320: Add header for dsscomp and optional bltsville data from Android HWC
gc320: Initial Open Color format Definitions (OCD).
gc320: OMAP4: adding Vivante Corp 2/3D gcxxx driver files
...
Conflicts:
arch/arm/boot/dts/dra7-evm.dts
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
* 'p-ti-android-3.8.y-video' of git://git.ti.com/android-sdk/kernel-video: (103 commits)
HDMI: Add reading edid and mode db creation
HDMI: Select correct clock source.
HDMI: Select DVI or HDMI based on EDID
HDMI: Add fb mode db construction
HDMI: Add edid read and clear functions
HDMI: Add FB mode database setting support
OMAPDSS: HDMI: Add setmode support for android
OMAP: HDMI : Add initial support for fb mode translation
OMAPDSS: OMAPLFB: (HACK) Use VRAM buffers instead of tiler 2D
OMAPDSS: OMAPLFB: VRAM buffers for second FB.
gpu: OMAP2: generic Android display configuration setup
OMAPDSS: DSSCOMP: OMAPLFB: Enabling dual FB configuration for multidisplay feature
gpu: android-display: DO NOT MERGE: android display compilation fixes
gc320: OMAP4:GCXXX: Fixing build warnings
OMAPDSS: OMAPLFB: Fix compilation issue for tiler path
gpu: omap_hwc: Adds a flag to hint omaplfb a blit FB is needed
gpu: omap_hwc: Describe the api agreement with omaplfb
gc320: Add header for dsscomp and optional bltsville data from Android HWC
gc320: Initial Open Color format Definitions (OCD).
gc320: OMAP4: adding Vivante Corp 2/3D gcxxx driver files
...
Conflicts:
arch/arm/boot/dts/dra7-evm.dts
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Merge branch 'p-ti-linux-3.8.y' into p-ti-android-3.8.y
* p-ti-linux-3.8.y:
arm: dra: Add gpu interface clock
arm: dra7xx: Add gpu hwmod
arm/dts: dra7: Add gpu supply
arm: dts: dra7xx: Add gpu data
OMAPDSS: DISPC: Force L3_2 CD to NOSLEEP when dispc module is active
OMAPDSS: DSS: Fix for mask query in manager blank api
OMAPDSS: DSS: Fix for setting up the overlay channel
OMAPDSS: DSS: fix for zorder checking logic
OMAPDSS: DSS: Fix for DSS num_managers check in callbacks
OMAPDSS: DSS: Fix for DSS manager IRQ mask ordering
OMAPDSS: DSS: Enable dsscomp callbacks from apply IRQ
OMAPDSS: DSS: Add callback for tracking overlay/manager changes
OMAPDSS: DSS: Fix null pointer crash in DSS
OMAPDSS: DSS: Initialize manager blank api.
OMAPDSS: DISPC: errata i740 fix: force L3_1 CD to NOSLEEP when dispc module is active
OMAPDSS: DSS: Invoke dsscomp callbacks for manually updated displays
OMAPDSS: DSS: Add support for simultaneous multiple overlay updates
OMAPDSS: DSS: Added Callback functionality to DSS
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
* p-ti-linux-3.8.y:
arm: dra: Add gpu interface clock
arm: dra7xx: Add gpu hwmod
arm/dts: dra7: Add gpu supply
arm: dts: dra7xx: Add gpu data
OMAPDSS: DISPC: Force L3_2 CD to NOSLEEP when dispc module is active
OMAPDSS: DSS: Fix for mask query in manager blank api
OMAPDSS: DSS: Fix for setting up the overlay channel
OMAPDSS: DSS: fix for zorder checking logic
OMAPDSS: DSS: Fix for DSS num_managers check in callbacks
OMAPDSS: DSS: Fix for DSS manager IRQ mask ordering
OMAPDSS: DSS: Enable dsscomp callbacks from apply IRQ
OMAPDSS: DSS: Add callback for tracking overlay/manager changes
OMAPDSS: DSS: Fix null pointer crash in DSS
OMAPDSS: DSS: Initialize manager blank api.
OMAPDSS: DISPC: errata i740 fix: force L3_1 CD to NOSLEEP when dispc module is active
OMAPDSS: DSS: Invoke dsscomp callbacks for manually updated displays
OMAPDSS: DSS: Add support for simultaneous multiple overlay updates
OMAPDSS: DSS: Added Callback functionality to DSS
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
arm: dra: Add gpu interface clock
Add gpu iclk.
Change-Id: Id9fcf210f67998682b4e21949699b8513aafecbf
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Add gpu iclk.
Change-Id: Id9fcf210f67998682b4e21949699b8513aafecbf
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
arm: dra7xx: Add gpu hwmod
GPU hwmod data for DRA7xx
Change-Id: I17f4c491e9a6a69052e9640e6bb2e74d5a753579
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
GPU hwmod data for DRA7xx
Change-Id: I17f4c491e9a6a69052e9640e6bb2e74d5a753579
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
arm/dts: dra7: Add gpu supply
Add smps6_reg as gpu supply
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Add smps6_reg as gpu supply
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
arm: dts: dra7xx: Add gpu data
GPU DT entry for DRA7XX.
Change-Id: I94c9a33f942b590244692001eb2ec8f9c98187c3
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
GPU DT entry for DRA7XX.
Change-Id: I94c9a33f942b590244692001eb2ec8f9c98187c3
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
HDMI: Add reading edid and mode db creation
Add edid read and mode db databse creation to be used
by hwc.
Change-Id: I5bd4fcd5b0e5990aabab18f44f3a3bb54adedb16
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi.c
Add edid read and mode db databse creation to be used
by hwc.
Change-Id: I5bd4fcd5b0e5990aabab18f44f3a3bb54adedb16
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi.c
HDMI: Select correct clock source.
Select correct clock source for HDMI pll.
Change-Id: I053c056926928b281f0b796b9d9d126de50a3f86
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Select correct clock source for HDMI pll.
Change-Id: I053c056926928b281f0b796b9d9d126de50a3f86
Signed-off-by: Dandawate Saket <dsaket@ti.com>
HDMI: Select DVI or HDMI based on EDID
Select HDMI or DVI based on edid bit set.
Change-Id: I27eef1270abc645585e432a61844f00fc57ca4f7
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Select HDMI or DVI based on edid bit set.
Change-Id: I27eef1270abc645585e432a61844f00fc57ca4f7
Signed-off-by: Dandawate Saket <dsaket@ti.com>
HDMI: Add fb mode db construction
Add fb mode db construction function and a getter
function for HWC.
Change-Id: I83ef027ffb68e33dbe2f59d3a6b39f3ec44028a6
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Add fb mode db construction function and a getter
function for HWC.
Change-Id: I83ef027ffb68e33dbe2f59d3a6b39f3ec44028a6
Signed-off-by: Dandawate Saket <dsaket@ti.com>
HDMI: Add edid read and clear functions
Add edid read and clear function for panel driver to use.
Change-Id: I64e91266ed20de4bfbfdfe4bbd1e426a414e1503
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Add edid read and clear function for panel driver to use.
Change-Id: I64e91266ed20de4bfbfdfe4bbd1e426a414e1503
Signed-off-by: Dandawate Saket <dsaket@ti.com>
HDMI: Add FB mode database setting support
Add FB mode parsing and setting the FB modes to
HDMI timing.
Change-Id: I37f631a850094c8fd7ae6165b19c9297194d73c7
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi_panel.c
Add FB mode parsing and setting the FB modes to
HDMI timing.
Change-Id: I37f631a850094c8fd7ae6165b19c9297194d73c7
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi_panel.c
OMAPDSS: HDMI: Add setmode support for android
Add support for set mode for android HWC adaptation
Change-Id: If21f6444df6f8b48c237088825eeb24944300199
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/dss.h
Add support for set mode for android HWC adaptation
Change-Id: If21f6444df6f8b48c237088825eeb24944300199
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/dss.h
OMAP: HDMI : Add initial support for fb mode translation
Add initial support for fb mode detection.
Change-Id: I814921c6f3b55f66dd8cba9dd389b149b64e44dc
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi.c
Add initial support for fb mode detection.
Change-Id: I814921c6f3b55f66dd8cba9dd389b149b64e44dc
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dss/hdmi.c
OMAPDSS: OMAPLFB: (HACK) Use VRAM buffers instead of tiler 2D
Change-Id: Ie59af16a4e6eff6e616d13bf041638d4738058ff
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Change-Id: Ie59af16a4e6eff6e616d13bf041638d4738058ff
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
OMAPDSS: OMAPLFB: VRAM buffers for second FB.
For JB-MR1 HWCv1.1 we need a second FB device setup at init time.
A swapchain of VRAM buffers are setup at init time.
Change-Id: Ifd5d100a939dce285ac3c844edad525043f933e8
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
For JB-MR1 HWCv1.1 we need a second FB device setup at init time.
A swapchain of VRAM buffers are setup at init time.
Change-Id: Ifd5d100a939dce285ac3c844edad525043f933e8
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
gpu: OMAP2: generic Android display configuration setup
Added android_display methods to allow runtime configuration of
Android display resources, such as:
- FB0's vram is dynamically calculated from the number of
buffers SGX requires in VRAM (swap chain and/or composition
buffers), and the FB0 display size.
- OMAP VRAM is calculated from FB0's vram need + any other
specified FB's vram. (If command line is used to specify
FB vrams, omap vram must also be specified.)
- TILER1D area reserved for use as DSS MMU by DSSCOMP is
calculated from default display size. It can be overriden
by board file.
- TILER2D carveout size is reduced by TILER1D area (if coallocated
with TILER2D) and by the TILER2D SGX buffers (swapchain and/or
composition buffers)
- nonsecure TILER2D carveout size is set to the backpages needed
by TILER2D SGX buffers.
All of this is coordinated by omap_android_display_setup. It
takes pointers to the DSS board info, FB platform data, and
optionally to the ION, SGX and DSSCOMP platform data. It should
be called in board_reserve before omap_ion_init.
If SGX data is provided, it is set as the SGX platform data for
FB0. Similarly, if DSSCOMP platform data is provided it is
also set. This can be used to set a preferred tiler1d slot size.
If ION platform data is provided, it is updated with the required
tiler2d carveout sizes.
NOTE:
To maximize TILER2D space, the TILER1D area reserved for android
display is not aligned to 1MB, but is aligned to 32 pages as the
smallest 2D allocation needs a 32-page band. We further reduce
TILER2D space by the container space lost by the SGX buffers,
which may be larger than the actual backpages bneeded for the
SGX buffers.
Therefore the sum of secure + nonsecure + 1D tiler space may
be smaller than the available container space.
Ported to latest SGX DDK by Dima Svetlov.
Change-Id: I5d8858c38efd842452994e3a3476463083d200d7
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Dima Svetlov <svetlov@ti.com>
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Added android_display methods to allow runtime configuration of
Android display resources, such as:
- FB0's vram is dynamically calculated from the number of
buffers SGX requires in VRAM (swap chain and/or composition
buffers), and the FB0 display size.
- OMAP VRAM is calculated from FB0's vram need + any other
specified FB's vram. (If command line is used to specify
FB vrams, omap vram must also be specified.)
- TILER1D area reserved for use as DSS MMU by DSSCOMP is
calculated from default display size. It can be overriden
by board file.
- TILER2D carveout size is reduced by TILER1D area (if coallocated
with TILER2D) and by the TILER2D SGX buffers (swapchain and/or
composition buffers)
- nonsecure TILER2D carveout size is set to the backpages needed
by TILER2D SGX buffers.
All of this is coordinated by omap_android_display_setup. It
takes pointers to the DSS board info, FB platform data, and
optionally to the ION, SGX and DSSCOMP platform data. It should
be called in board_reserve before omap_ion_init.
If SGX data is provided, it is set as the SGX platform data for
FB0. Similarly, if DSSCOMP platform data is provided it is
also set. This can be used to set a preferred tiler1d slot size.
If ION platform data is provided, it is updated with the required
tiler2d carveout sizes.
NOTE:
To maximize TILER2D space, the TILER1D area reserved for android
display is not aligned to 1MB, but is aligned to 32 pages as the
smallest 2D allocation needs a 32-page band. We further reduce
TILER2D space by the container space lost by the SGX buffers,
which may be larger than the actual backpages bneeded for the
SGX buffers.
Therefore the sum of secure + nonsecure + 1D tiler space may
be smaller than the available container space.
Ported to latest SGX DDK by Dima Svetlov.
Change-Id: I5d8858c38efd842452994e3a3476463083d200d7
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Dima Svetlov <svetlov@ti.com>
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: DSSCOMP: OMAPLFB: Enabling dual FB configuration for multidisplay feature
Change-Id: I48c81a2a242457af28e94ac8a60d4d93ed29e728
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
arch/arm/configs/android_omap_defconfig
Change-Id: I48c81a2a242457af28e94ac8a60d4d93ed29e728
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
arch/arm/configs/android_omap_defconfig
gpu: android-display: DO NOT MERGE: android display compilation fixes
there are some compilation errors seen after enabling ion because
of lack of vram apis and dsscomp platform apis in kernel.
this patch should be reverted after support for those have been
added in the kernel.
Change-Id: I57d51204a726708075d4e8c65c207d6f750381b1
Signed-off-by: Sundar Raman <a0393242@ti.com>
there are some compilation errors seen after enabling ion because
of lack of vram apis and dsscomp platform apis in kernel.
this patch should be reverted after support for those have been
added in the kernel.
Change-Id: I57d51204a726708075d4e8c65c207d6f750381b1
Signed-off-by: Sundar Raman <a0393242@ti.com>
gc320: OMAP4:GCXXX: Fixing build warnings
Next build warnings are fixed:
--
drivers/video/omap2/omaplfb/omaplfb_linux.c:407: warning: 'OMAPLFBToUpdateMode' defined but not used
drivers/video/omap2/omaplfb/omaplfb_linux.c: In function 'OMAPLFBSetUpdateMode':
drivers/video/omap2/omaplfb/omaplfb_linux.c:609: warning: 'eUpdateMode' may be used uninitialized in this function
--
drivers/misc/gcx/gccore/gcmain.c: In function 'gc_map':
drivers/misc/gcx/gccore/gcmain.c:690: warning: assignment from incompatible pointer type
drivers/misc/gcx/gccore/gcmmu.c: In function 'virt2phys':
drivers/misc/gcx/gccore/gcmmu.c:255: warning: passing argument 1 of 'pmd_offset' from incompatible pointer type
omap/arch/arm/include/asm/pgtable-2level.h:156: note: expected 'struct pud_t *' but argument is of type 'pmdval_t (*)[2]'
Change-Id: Ica98081e3ecf362bbf4ae10b5aa2ac9cd29a5b0f
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Next build warnings are fixed:
--
drivers/video/omap2/omaplfb/omaplfb_linux.c:407: warning: 'OMAPLFBToUpdateMode' defined but not used
drivers/video/omap2/omaplfb/omaplfb_linux.c: In function 'OMAPLFBSetUpdateMode':
drivers/video/omap2/omaplfb/omaplfb_linux.c:609: warning: 'eUpdateMode' may be used uninitialized in this function
--
drivers/misc/gcx/gccore/gcmain.c: In function 'gc_map':
drivers/misc/gcx/gccore/gcmain.c:690: warning: assignment from incompatible pointer type
drivers/misc/gcx/gccore/gcmmu.c: In function 'virt2phys':
drivers/misc/gcx/gccore/gcmmu.c:255: warning: passing argument 1 of 'pmd_offset' from incompatible pointer type
omap/arch/arm/include/asm/pgtable-2level.h:156: note: expected 'struct pud_t *' but argument is of type 'pmdval_t (*)[2]'
Change-Id: Ica98081e3ecf362bbf4ae10b5aa2ac9cd29a5b0f
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
OMAPDSS: OMAPLFB: Fix compilation issue for tiler path
Compilation fix.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Compilation fix.
Signed-off-by: Dandawate Saket <dsaket@ti.com>
gpu: omap_hwc: Adds a flag to hint omaplfb a blit FB is needed
When HWC generates blits a DSS pipe is configured and assigned
for the blit framebuffer, this patch adds a flag to give a
hint to omaplfb to use such pipe when it is present.
This helps in situations where there are not blits but blit
buffers to synchronize with and a blit buffer must be used.
In such case the rgz_items and num_ovls from dsscomp where not
enough data to recognize this scenario.
Change-Id: I2bcb13e6341189528f4ffd73c03badd431afbf15
Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
When HWC generates blits a DSS pipe is configured and assigned
for the blit framebuffer, this patch adds a flag to give a
hint to omaplfb to use such pipe when it is present.
This helps in situations where there are not blits but blit
buffers to synchronize with and a blit buffer must be used.
In such case the rgz_items and num_ovls from dsscomp where not
enough data to recognize this scenario.
Change-Id: I2bcb13e6341189528f4ffd73c03badd431afbf15
Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gpu: omap_hwc: Describe the api agreement with omaplfb
Change-Id: I8b5173b6b89388cbb0185f5a2576893699268143
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Change-Id: I8b5173b6b89388cbb0185f5a2576893699268143
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gc320: Add header for dsscomp and optional bltsville data from Android HWC
In order to support the OMAP4470 GC320 blit IP from HWC, we will
optionally add blit data to the payload of information passed from
HWC to the SGX display driver (OMAPLFB).
Change-Id: I016660ee1f266c1456540b8b60115cf4c8bc49a6
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
In order to support the OMAP4470 GC320 blit IP from HWC, we will
optionally add blit data to the payload of information passed from
HWC to the SGX display driver (OMAPLFB).
Change-Id: I016660ee1f266c1456540b8b60115cf4c8bc49a6
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
gc320: Initial Open Color format Definitions (OCD).
OCD is a set of Open Color format Definitions. Color formats
are used in everything from BLTers to video codecs,
and from cameras to displays. But although there are
plenty of common formats, the definition of the code specifying
them is never the same.
OCD attempts to solve this problem. It provides logical color
format codes, and is extensible.
Change-Id: I56ef49f451ab9c194418500d833d204a83f66edd
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
OCD is a set of Open Color format Definitions. Color formats
are used in everything from BLTers to video codecs,
and from cameras to displays. But although there are
plenty of common formats, the definition of the code specifying
them is never the same.
OCD attempts to solve this problem. It provides logical color
format codes, and is extensible.
Change-Id: I56ef49f451ab9c194418500d833d204a83f66edd
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gc320: OMAP4: adding Vivante Corp 2/3D gcxxx driver files
Driver files to enable Vivante Corp 2/3D gcxxx hardware.
Change-Id: Ic7593e603a2b078879aa7a99f6dcf8074ed6b47d
Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Driver files to enable Vivante Corp 2/3D gcxxx hardware.
Change-Id: Ic7593e603a2b078879aa7a99f6dcf8074ed6b47d
Signed-off-by: Alexei Shlychkov <x0177296@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gc320: OMAP4: adding BLTsville header files
Change-Id: If573d2ea6f0d6e858e2dae94a629458d2d767cc5
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
Change-Id: If573d2ea6f0d6e858e2dae94a629458d2d767cc5
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Volodymyr Mieshkov <volodymyr.mieshkov@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gc320: Initial BLTsville API definition.
BLTsville is the open 2-D API designed to provide an abstract
interface for both hardware and software 2-D implementations.
BLTs (BLock Transfers) involve the moving around of blocks
(rectangles) of pixels.
Change-Id: Ifced4987169acf56bfc6cf4fd6ce7fec9fcda993
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
BLTsville is the open 2-D API designed to provide an abstract
interface for both hardware and software 2-D implementations.
BLTs (BLock Transfers) involve the moving around of blocks
(rectangles) of pixels.
Change-Id: Ifced4987169acf56bfc6cf4fd6ce7fec9fcda993
Signed-off-by: Rick Tillery <rtillery@ti.com>
Signed-off-by: David Sin <davidsin@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Sundar Raman <sunds@ti.com>
gpu: sgx_omaplfb: Create omaplfb platform device file to permit device configuration
Creat omaplfb initial instance
Change-Id: I9067e271bf9b680524a85ab18e97c3772a63d3ba
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Creat omaplfb initial instance
Change-Id: I9067e271bf9b680524a85ab18e97c3772a63d3ba
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Gustavo Diaz Prado <a0273371@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPLFB: (HACK) Disable console locking/unlocking
Seems to be a problem with current kernel configuration
Change-Id: If99ac0187fb652c1d4c062f6806be5477fe5e13d
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Seems to be a problem with current kernel configuration
Change-Id: If99ac0187fb652c1d4c062f6806be5477fe5e13d
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
OMAPDSS: OMAPLFB: Enable OMAPLFB for compilation
Fix compilation error and enable omaplfb.
Change-Id: Id641a0ece2f73f146bd843baa12d6092e4290027
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
arch/arm/configs/android_omap_defconfig
drivers/video/omap2/omapfb/Kconfig
Fix compilation error and enable omaplfb.
Change-Id: Id641a0ece2f73f146bd843baa12d6092e4290027
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
arch/arm/configs/android_omap_defconfig
drivers/video/omap2/omapfb/Kconfig
OMAPDSS: OMAPLFB: adapt to K3.8 ION
Adapt omaplfb to new ion calls.
Change-Id: Ia5a1347a073d0536ebb67f48b01b3ff721a14544
Signed-off-by: Sundar Raman <a0393242@ti.com>
Adapt omaplfb to new ion calls.
Change-Id: Ia5a1347a073d0536ebb67f48b01b3ff721a14544
Signed-off-by: Sundar Raman <a0393242@ti.com>
OMAPDSS: OMAPLFB: remove dependency on vrfb
Remove VRFB compilation dependency.
Change-Id: I25cf07c38752dbaac225f9f0af5c557adca72ce6
Signed-off-by: Sundar Raman <a0393242@ti.com>
Remove VRFB compilation dependency.
Change-Id: I25cf07c38752dbaac225f9f0af5c557adca72ce6
Signed-off-by: Sundar Raman <a0393242@ti.com>
OMAPDSS: OMAPLFB: remove early_suspend handling
omaplfb can handle only suspend/resume of just one display
attached to framebuffer, thus can't suspend secondary HDMI
display. Early_suspend/late_resume now handled by DSS core,
for each display without limitations, hence removing this code.
Change-Id: I3c30d618d7dfdba540920d3aac48ba96a21dc3e2
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
omaplfb can handle only suspend/resume of just one display
attached to framebuffer, thus can't suspend secondary HDMI
display. Early_suspend/late_resume now handled by DSS core,
for each display without limitations, hence removing this code.
Change-Id: I3c30d618d7dfdba540920d3aac48ba96a21dc3e2
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
OMAPDSS: OMAPLFB: skip init in case of invalid framebuffer
Don't go on with omaplfb devinfo initialization if corresponding framebuffer
has not been properly allocated -- has invalid parameters of width/heigth.
This is going to be needed later, when there will be possibility of
multiple framebuffers and swapchains to co-exist.
Change-Id: I85d3554750305d645f78b4c5a076b901fef3d2b4
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Don't go on with omaplfb devinfo initialization if corresponding framebuffer
has not been properly allocated -- has invalid parameters of width/heigth.
This is going to be needed later, when there will be possibility of
multiple framebuffers and swapchains to co-exist.
Change-Id: I85d3554750305d645f78b4c5a076b901fef3d2b4
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
OMAPDSS: OMAPLFB: add rotation check to pass the correct stride
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>
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>
OMAPDSS: OMAPLFB: Dont foward compositions to DSSCOMP if overlay is Zero
Do not foward compositions to DSSCOMP in case overlay number
passed by HWC is zero. The dsscomp->num_overlay = 0 means
that there is no primary display and no rendering is required.
Change-Id: If7b582efeb55ce84878d0bfbd19eabd2ebd3afaa
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Do not foward compositions to DSSCOMP in case overlay number
passed by HWC is zero. The dsscomp->num_overlay = 0 means
that there is no primary display and no rendering is required.
Change-Id: If7b582efeb55ce84878d0bfbd19eabd2ebd3afaa
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPLFB: Add omaplfb to the kernel tree
omaplfb has dependencies on several kernel components and it will
be easier to maintain it in the kernel tree.
Sync'd to DDK omaplfb patch:
omaplfb: Allocate a clear buffer with 8 pixel stride per GC requirement
Change-Id: Ia6b81bb442b17162b6753ba5b4cba53d96d9b3a2
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
omaplfb has dependencies on several kernel components and it will
be easier to maintain it in the kernel tree.
Sync'd to DDK omaplfb patch:
omaplfb: Allocate a clear buffer with 8 pixel stride per GC requirement
Change-Id: Ia6b81bb442b17162b6753ba5b4cba53d96d9b3a2
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: DSSCOMP: Update bit-field info for BGRA32 color format
Descrition: The bit-field info is used by the truncation logic, if
enabled, for the specific color format chosen.This patch appends the
BGRA color format & updates the corresponding bit-fields.
Change-Id: Ie78e1869d589012b604ed86a85bf1b132cbf6feb
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Descrition: The bit-field info is used by the truncation logic, if
enabled, for the specific color format chosen.This patch appends the
BGRA color format & updates the corresponding bit-fields.
Change-Id: Ie78e1869d589012b604ed86a85bf1b132cbf6feb
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: update overlay enabled along with other attibutes
Change-Id: I8174f94311255691cca9c18f7d5315f819ee444b
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
Change-Id: I8174f94311255691cca9c18f7d5315f819ee444b
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
OMAPDSS: DSSCOMP: Null pointer check for mgr, output
Avoids kernel panic when mgr or mgr->output is null.
Change-Id: I1dbe7a1e77fbdfd2c598af27ba7bb68c12bca317
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Avoids kernel panic when mgr or mgr->output is null.
Change-Id: I1dbe7a1e77fbdfd2c598af27ba7bb68c12bca317
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
OMAPDSS: DSSCOMP: register early callback at suspend
Zero composition queued at suspend doesn't need to
wait to be released, as there's actually nothing to display.
Releasing composition after it's programmed is enough, also
in case of manually updated displays composition callback
never gets called, so queue is stuck and dsscomp can't
properly resume.
Change-Id: I8fe5f4704fc0907bbbd6b2ea1176e46b83b8143d
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Zero composition queued at suspend doesn't need to
wait to be released, as there's actually nothing to display.
Releasing composition after it's programmed is enough, also
in case of manually updated displays composition callback
never gets called, so queue is stuck and dsscomp can't
properly resume.
Change-Id: I8fe5f4704fc0907bbbd6b2ea1176e46b83b8143d
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: enable alpha blending at suspend
set_dss_mgr_info() refuses to accept configurations without
alpha blending enabled, thus in the very last composition
queued in suspend handler we have to explicitly enable it.
Change-Id: Ic663e9d7166e7386998cda3233791482adead0bd
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
set_dss_mgr_info() refuses to accept configurations without
alpha blending enabled, thus in the very last composition
queued in suspend handler we have to explicitly enable it.
Change-Id: Ic663e9d7166e7386998cda3233791482adead0bd
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: fix channel selection in gralloc_queue
Channels don't always represent mgr_ix from setup data, e.g.
in case of HDMI as primary display channel used is 1 (tv), while
0 id is passed from userspace via overlay's config.
Change-Id: I20c7ac6f5283ffffc56641ec97cd21dfd701c6d7
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Channels don't always represent mgr_ix from setup data, e.g.
in case of HDMI as primary display channel used is 1 (tv), while
0 id is passed from userspace via overlay's config.
Change-Id: I20c7ac6f5283ffffc56641ec97cd21dfd701c6d7
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: do not unpin blocks when splitting/merging slots
Calling tiler_unpin() happens to have occational side effects
like delays, which might cause FIFO underflows in DISPC.
Change-Id: I3c911bd6bd6fb62d4c7423ba6edae60fafab0fb3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Calling tiler_unpin() happens to have occational side effects
like delays, which might cause FIFO underflows in DISPC.
Change-Id: I3c911bd6bd6fb62d4c7423ba6edae60fafab0fb3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: do not clone from disabled layer
In case of cloning layer from other overlay, we should always check
whether overlay we want to clone from is valid, or we may run
into severe troubles. One example of failing case is when 1D mapping
of overlay fails, we can't clone from it, as it will be disabled and
we will eventually end up with memory violation.
Change-Id: Ic230d965b09df62e7a15e7b89364f169783bdb9e
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
In case of cloning layer from other overlay, we should always check
whether overlay we want to clone from is valid, or we may run
into severe troubles. One example of failing case is when 1D mapping
of overlay fails, we can't clone from it, as it will be disabled and
we will eventually end up with memory violation.
Change-Id: Ic230d965b09df62e7a15e7b89364f169783bdb9e
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: split tiler1d slots for multi-display
When switching to multi-display presentation mode, gralloc queue
needs to hold at most 4 compositions in parallel, thus requiring
4 tiler1d slots to map layers. For not to take additional tiler1d
space beyond 32Mb, we split 2 slots into 4 smaller slots, which
reflects the way hwcomposer manages layers in userspace.
When quitting presentation mode slots merged back into 2 lagre chunks.
Until tiler API supports blocks splitting/merging, we use hack
of first releasing and immediately requesting different size block.
Change-Id: I1f323f77235f8380833bc7322b589bd2504d37e3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
When switching to multi-display presentation mode, gralloc queue
needs to hold at most 4 compositions in parallel, thus requiring
4 tiler1d slots to map layers. For not to take additional tiler1d
space beyond 32Mb, we split 2 slots into 4 smaller slots, which
reflects the way hwcomposer manages layers in userspace.
When quitting presentation mode slots merged back into 2 lagre chunks.
Until tiler API supports blocks splitting/merging, we use hack
of first releasing and immediately requesting different size block.
Change-Id: I1f323f77235f8380833bc7322b589bd2504d37e3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: allow separate comp to tv
Add support to queue separate sets of compositions independently
for separate managers.
Change-Id: I1a8e639062b5082222dfbc4be146fbfea1fd82f9
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Add support to queue separate sets of compositions independently
for separate managers.
Change-Id: I1a8e639062b5082222dfbc4be146fbfea1fd82f9
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Add force_1d client support for dispc
Description: This patch adds client support for dispc force_1d
feature.
Change-Id: Ia4dbd5f96a82b5274c92bdb425fdd7245343d7ea
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Description: This patch adds client support for dispc force_1d
feature.
Change-Id: Ia4dbd5f96a82b5274c92bdb425fdd7245343d7ea
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Export symbol tiler_pa_free
Export symbol tiler_pa_free required by the
omaplfb component.
Change-Id: Ieca5b515bc2442b609b6650fcb84560552783466
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Export symbol tiler_pa_free required by the
omaplfb component.
Change-Id: Ieca5b515bc2442b609b6650fcb84560552783466
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Enable compatibility mode
Initialize compatibility mode for DSSCOMP
Change-Id: Ibb97b38e59ba19bfdc09ec232137bf29e370c247
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Initialize compatibility mode for DSSCOMP
Change-Id: Ibb97b38e59ba19bfdc09ec232137bf29e370c247
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Fix sparse warnings in gralloc
Fix sparse warning:
drivers/video/omap2/dsscomp/gralloc.c:343:11: warning: symbol 'size' shadows an earlier one
drivers/video/omap2/dsscomp/gralloc.c:309:7: originally declared here
drivers/video/omap2/dsscomp/gralloc.c:563:10: warning: symbol 't' shadows an earlier one
drivers/video/omap2/dsscomp/gralloc.c:524:22: originally declared here
Change-Id: Iedd59c2ac59ae98d81d59a76f6f0b844aecba7fe
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Fix sparse warning:
drivers/video/omap2/dsscomp/gralloc.c:343:11: warning: symbol 'size' shadows an earlier one
drivers/video/omap2/dsscomp/gralloc.c:309:7: originally declared here
drivers/video/omap2/dsscomp/gralloc.c:563:10: warning: symbol 't' shadows an earlier one
drivers/video/omap2/dsscomp/gralloc.c:524:22: originally declared here
Change-Id: Iedd59c2ac59ae98d81d59a76f6f0b844aecba7fe
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Add MFLAG support in DSSCOMP
Descrition: This patch adds client support for dispc MFLAG feature.
Change-Id: I10d4784a1bbdd91d05fbf4b21b5780a0bd79b873
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Descrition: This patch adds client support for dispc MFLAG feature.
Change-Id: I10d4784a1bbdd91d05fbf4b21b5780a0bd79b873
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: WA: dsscomp header changes for WB support
Sync Android file system's userspace and kernel 3.4 space dsscomp
header files. Current Android file system has changes for writeback
handling. Until writeback kernel patches are available for
K3.4, this workaround patch is required.
Change-Id: Ibf7dd95de85ce05bbbde07dc55c435adce15fb46
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Sync Android file system's userspace and kernel 3.4 space dsscomp
header files. Current Android file system has changes for writeback
handling. Until writeback kernel patches are available for
K3.4, this workaround patch is required.
Change-Id: Ibf7dd95de85ce05bbbde07dc55c435adce15fb46
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS:DSSCOMP: Ignore display resolution for WB source overlay
When WB capture from an overlay in MEM2MEM mode, the captured
image may be up-scaled beyond the size of the display.
Change-Id: If292f13c2e68ca6912a4ebdc5ea84146690ac93c
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
When WB capture from an overlay in MEM2MEM mode, the captured
image may be up-scaled beyond the size of the display.
Change-Id: If292f13c2e68ca6912a4ebdc5ea84146690ac93c
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Resolve compiler errors/warnings when CONFIG_DSSCOMP_DEBUG_LOG is not set
When CONFIG_DSSCOMP_DEBUG_LOG is not set there are two issues
Resolve compiler error:
drivers/video/omap2/dsscomp/base.c: In function 'set_dss_mgr_info':
drivers/video/omap2/dsscomp/base.c:397: error: 'alpha_only' undeclared
Resolve compiler warning:
drivers/video/omap2/dsscomp/gralloc.c: In function 'dsscomp_dbg_gralloc':
drivers/video/omap2/dsscomp/gralloc.c:541: warning: unused variable 'i'
Change-Id: I55a157b478e112c2bd8a475a821f5aff7cc571a7
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
When CONFIG_DSSCOMP_DEBUG_LOG is not set there are two issues
Resolve compiler error:
drivers/video/omap2/dsscomp/base.c: In function 'set_dss_mgr_info':
drivers/video/omap2/dsscomp/base.c:397: error: 'alpha_only' undeclared
Resolve compiler warning:
drivers/video/omap2/dsscomp/gralloc.c: In function 'dsscomp_dbg_gralloc':
drivers/video/omap2/dsscomp/gralloc.c:541: warning: unused variable 'i'
Change-Id: I55a157b478e112c2bd8a475a821f5aff7cc571a7
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Handle inactive state in composition apply
We ignore the error due to display in inactive state during
mgr->apply. This leave the composition in applied state if
display is disabled or suspended inbetween composition apply.
On system suspend with HDMI connected compositions are still
applied even after HDMI becomes inactive( suspend state). On
resume SGX starts dumping because one composition is struck
in applied state.
This patch fixes this issue by calling mbg->blank to
clear such compositions.
Change-Id: Ib0498b97c23c129a673678517d665b1bdb462eb3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
We ignore the error due to display in inactive state during
mgr->apply. This leave the composition in applied state if
display is disabled or suspended inbetween composition apply.
On system suspend with HDMI connected compositions are still
applied even after HDMI becomes inactive( suspend state). On
resume SGX starts dumping because one composition is struck
in applied state.
This patch fixes this issue by calling mbg->blank to
clear such compositions.
Change-Id: Ib0498b97c23c129a673678517d665b1bdb462eb3
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS : DSSCOMP : Avoid pushing content if no panel is active
Currently we push content on a blanked manager in case it is
default HDMI display. This causes a lot of logging in dsscomp call
back when we apply blank to manager.
Check added to see if number of overlay in the composition are not
zero.
In HWC we are checking if the default display is not present
we will populate the composition number of overlay as zero.
Dependencies:
This patch has dependency on HWC patch mentioned below..
http://review.omapzoom.org/#/c/26472/ - JB release
Change-Id: Icadfecb8f88adf3c6020b17d1869b5bb49b0efe6
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Currently we push content on a blanked manager in case it is
default HDMI display. This causes a lot of logging in dsscomp call
back when we apply blank to manager.
Check added to see if number of overlay in the composition are not
zero.
In HWC we are checking if the default display is not present
we will populate the composition number of overlay as zero.
Dependencies:
This patch has dependency on HWC patch mentioned below..
http://review.omapzoom.org/#/c/26472/ - JB release
Change-Id: Icadfecb8f88adf3c6020b17d1869b5bb49b0efe6
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Switch to multiple overlay apply mechanism
Description: This patch corresponds to changes required to move to
the new apply mechanism in the DSS driver. The overlay manager keeps
track of the number of overlays requiring update & puts it into an
array before sending to the DSS2 driver.
Change-Id: Ia7d19877f2e24942933cd660d0b08aa4acfb9c53
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
Description: This patch corresponds to changes required to move to
the new apply mechanism in the DSS driver. The overlay manager keeps
track of the number of overlays requiring update & puts it into an
array before sending to the DSS2 driver.
Change-Id: Ia7d19877f2e24942933cd660d0b08aa4acfb9c53
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
OMAPDSS: DSSCOMP: Remove HDMI_ENABLE flag from dsscomp
Enable HDMI support in DSSCOMP driver. HDMI related
code was put under compile flag during dsscomp porting.
Removing the flag to have HDMI working.
Change-Id: I9c7d860de5e8f8a66307a6aeaed0c97f7cda6048
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Enable HDMI support in DSSCOMP driver. HDMI related
code was put under compile flag during dsscomp porting.
Removing the flag to have HDMI working.
Change-Id: I9c7d860de5e8f8a66307a6aeaed0c97f7cda6048
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: move device to omap plat to configure tiler1d slot
Different devices will have varying requirements on tiler resources. This
change moves the platform device registration for dsscomp to the omap
platform level so at device initialization time we can set the appropriate
Tiler1D slot size.
Get platform information from dss2 driver, instead of it being hardcoded in
dsscomp clients. DSSCOMP query platform ioctl returns the platform specific
configuration, platform_info
Change-Id: I23c310294a96b711ea5782bddf732f10cc76e758
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Different devices will have varying requirements on tiler resources. This
change moves the platform device registration for dsscomp to the omap
platform level so at device initialization time we can set the appropriate
Tiler1D slot size.
Get platform information from dss2 driver, instead of it being hardcoded in
dsscomp clients. DSSCOMP query platform ioctl returns the platform specific
configuration, platform_info
Change-Id: I23c310294a96b711ea5782bddf732f10cc76e758
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: DSSCOMP: Enable & Disable function support for overlays
Description: This patch adds support for enabling and disabling the
overlays in DSSCOMP. In earlier kernels this was handled by the enabled
flag in info structure. It has been deprecated in K3.4 & now overlay
enable & disable needs to be done manually by the omap_overlay
enable & disable functions.
Change-Id: Ic931e01ed3a384e9f32914a6f07602d4f2d7b6ca
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
Description: This patch adds support for enabling and disabling the
overlays in DSSCOMP. In earlier kernels this was handled by the enabled
flag in info structure. It has been deprecated in K3.4 & now overlay
enable & disable needs to be done manually by the omap_overlay
enable & disable functions.
Change-Id: Ic931e01ed3a384e9f32914a6f07602d4f2d7b6ca
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Conflicts:
drivers/video/omap2/dsscomp/base.c
OMAPDSS: DSSCOMP: Configuration changes
Added configuration changes to include all
dependencies needed by DSSCOMP and enable
DSSCOMP by default
Change-Id: I6f7377b8caac991c046cb03ddbe1815101a5f3bd
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Added configuration changes to include all
dependencies needed by DSSCOMP and enable
DSSCOMP by default
Change-Id: I6f7377b8caac991c046cb03ddbe1815101a5f3bd
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: DSSCOMP: New composition module
This patch implements a new DSS composition module.
DSSCOMP allows specifying a whole composition for a DSS display:
1. set overlay information for all overlays on a manager
2. reroute the overlays to the manager (overlay must be disabled
just as when using sysfs)
3. set manager information
4. optionally call manager->apply() that programs the DISPC
4. optionally do an update (after a sync call)
DSS already implements coordinated updates by separating overlay
information setting from the applicaion of those settings (which
happens only in manager->apply()). However current clients of DSS
call manager->apply() for each change, which make coordinated
change impossible.
This API also implements auto cropping of all layers to the display
region. This makes switching displays and handling display resolution
changes easier (without getting "failed to setup overlay" messages.)
DSSCOMP operates on 3 levels.
base.c contains the basic DSS operations, such as setting DSS overlay
and managers using DSSCOMP's setting structures. Theoretically,
DSSCOMP could be used via only these operations.
queue.c contains the queuing mechanism. This module maintains
compositions queued to each overlay manager (the basic DSS composition
entity). Queueing operations consist of creating a composition,
setting/getting manager/overlay information for the composition,
applying the composition to the display (which also displays it
on manually updated panels), waiting on various states of a composition.
For now the basic queuing mechanism of DSSCOMP is "queue and forget".
Therefore, it is not necessary to dequeue each frame queued. A
consequence of this methodology is that if one applies a composition
to a display, any prior unapplied compositions will be dropped.
Compositions are applied asynchronously (delayed apply) so that
they can be queued from irq context.
The queuing interface tracks which overlay is assigned to which
manager. This is done at the DSS programming level, as that is the
most reliable place to monitor overlay ownership. Nonetheless,
the device interface uses overlay information to verify overlay
ownership - which may be slightly out of sync. The user of
DSSCOMP should maintain overlay ownership to ensure flawless
sharing of overlays between managers. (E.g. should not use an
overlay on a new manager, until the overlay has been disabled on
the previous manager, and that composition has been programmed.)
Buffers must be displayable (e.g. TILER2D or physically contiguous).
device.c contains the device hooks to operating system, and the file
interface (via /dev/dsscomp's ioctls). /dev/dsscomp works on top of
the queueing mechanism.
There are 3 levels of header files.
linux/dsscomp.h: basic dsscomp structures and ioctls
plat/dsscomp.h: kernel dsscomp interface (on top of linux/dsscomp.h)
local dsscomp.h: common implementation structures and shared methods
An additional Android adaptation layer is also provided. This
sits on top of DSSCOMP and allows specifying all overlays on all
managers in a single operation as required by Android's rendering
model. Here the checking of overlays is slightly relaxed as
Android makes sure that an overlay is detached from a display
before it is attached to another one. This interface also
uses ION/TILER to remap non-contiguous buffers into contiguous
TILER1D space - so they can be displayed by DISPC.
At the Android level buffers can be specified with a set of
pages, using offsets into FBMEM (contiguous), or by referencing
prior overlays (e.g. cloning).
Note: plat/dsscomp.h defines a handle typedef that causes a
checkpatch warning. I feel that the creation of a handle typedef
is warranted.
Limitations:
- no WB support
- unsure whether to call sync on non-manual update panels
- cannot get overlay/manager information on a composition without
first having set it
Change-Id: I9e9c0fc6e5ed0bf4f077af9f755cee35d436990b
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
This patch implements a new DSS composition module.
DSSCOMP allows specifying a whole composition for a DSS display:
1. set overlay information for all overlays on a manager
2. reroute the overlays to the manager (overlay must be disabled
just as when using sysfs)
3. set manager information
4. optionally call manager->apply() that programs the DISPC
4. optionally do an update (after a sync call)
DSS already implements coordinated updates by separating overlay
information setting from the applicaion of those settings (which
happens only in manager->apply()). However current clients of DSS
call manager->apply() for each change, which make coordinated
change impossible.
This API also implements auto cropping of all layers to the display
region. This makes switching displays and handling display resolution
changes easier (without getting "failed to setup overlay" messages.)
DSSCOMP operates on 3 levels.
base.c contains the basic DSS operations, such as setting DSS overlay
and managers using DSSCOMP's setting structures. Theoretically,
DSSCOMP could be used via only these operations.
queue.c contains the queuing mechanism. This module maintains
compositions queued to each overlay manager (the basic DSS composition
entity). Queueing operations consist of creating a composition,
setting/getting manager/overlay information for the composition,
applying the composition to the display (which also displays it
on manually updated panels), waiting on various states of a composition.
For now the basic queuing mechanism of DSSCOMP is "queue and forget".
Therefore, it is not necessary to dequeue each frame queued. A
consequence of this methodology is that if one applies a composition
to a display, any prior unapplied compositions will be dropped.
Compositions are applied asynchronously (delayed apply) so that
they can be queued from irq context.
The queuing interface tracks which overlay is assigned to which
manager. This is done at the DSS programming level, as that is the
most reliable place to monitor overlay ownership. Nonetheless,
the device interface uses overlay information to verify overlay
ownership - which may be slightly out of sync. The user of
DSSCOMP should maintain overlay ownership to ensure flawless
sharing of overlays between managers. (E.g. should not use an
overlay on a new manager, until the overlay has been disabled on
the previous manager, and that composition has been programmed.)
Buffers must be displayable (e.g. TILER2D or physically contiguous).
device.c contains the device hooks to operating system, and the file
interface (via /dev/dsscomp's ioctls). /dev/dsscomp works on top of
the queueing mechanism.
There are 3 levels of header files.
linux/dsscomp.h: basic dsscomp structures and ioctls
plat/dsscomp.h: kernel dsscomp interface (on top of linux/dsscomp.h)
local dsscomp.h: common implementation structures and shared methods
An additional Android adaptation layer is also provided. This
sits on top of DSSCOMP and allows specifying all overlays on all
managers in a single operation as required by Android's rendering
model. Here the checking of overlays is slightly relaxed as
Android makes sure that an overlay is detached from a display
before it is attached to another one. This interface also
uses ION/TILER to remap non-contiguous buffers into contiguous
TILER1D space - so they can be displayed by DISPC.
At the Android level buffers can be specified with a set of
pages, using offsets into FBMEM (contiguous), or by referencing
prior overlays (e.g. cloning).
Note: plat/dsscomp.h defines a handle typedef that causes a
checkpatch warning. I feel that the creation of a handle typedef
is warranted.
Limitations:
- no WB support
- unsure whether to call sync on non-manual update panels
- cannot get overlay/manager information on a composition without
first having set it
Change-Id: I9e9c0fc6e5ed0bf4f077af9f755cee35d436990b
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Enable OMAPFB in the kernel
Enable omapfb compilation in kernel
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Enable omapfb compilation in kernel
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Update bit-field info for BGRA32 color format
Descrition: The bit-field info is used by the truncation logic, if
enabled, for the specific color format chosen.This patch appends the
BGRA color format & updates the corresponding bit-fields.
Change-Id: Ie78e1869d589012b604ed86a85bf1b132cbf6feb
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Descrition: The bit-field info is used by the truncation logic, if
enabled, for the specific color format chosen.This patch appends the
BGRA color format & updates the corresponding bit-fields.
Change-Id: Ie78e1869d589012b604ed86a85bf1b132cbf6feb
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: OMAPFB: Initialize all devices for default timings
If the FB device have timings then set it up as default.
Right now it is used for HDMI only.
Change-Id: I2b5116c9010befa7d612683ebec2b443bb1d5b5d
Signed-off-by: Dandawate Saket <dsaket@ti.com>
If the FB device have timings then set it up as default.
Right now it is used for HDMI only.
Change-Id: I2b5116c9010befa7d612683ebec2b443bb1d5b5d
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Decouple DRM and FB
Fix compilation break and decouple DRM and FB.
Change-Id: I237bc0f31f7ce79760c71f2d0179451e0c547eb4
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Fix compilation break and decouple DRM and FB.
Change-Id: I237bc0f31f7ce79760c71f2d0179451e0c547eb4
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: (HACK) Double buffer for swap chain
This hack ensures OMAPFB providing sufficient size of swap chain.
Change-Id: Ic88186c2599569158a1e9bda6b579cd3ad033479
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
This hack ensures OMAPFB providing sufficient size of swap chain.
Change-Id: Ic88186c2599569158a1e9bda6b579cd3ad033479
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
OMAPDSS: OMAPFB: Fix fb initialization
Correcting the patch porting mistake.
Change-Id: Iae23c48aa5ccc34f4855cd0f90aa09685117fe67
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
--
[resolve rebase conflict]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Correcting the patch porting mistake.
Change-Id: Iae23c48aa5ccc34f4855cd0f90aa09685117fe67
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
--
[resolve rebase conflict]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
OMAPDSS: OMAPFB: return error when can't enable vsync
When device is not active we can't register VSYNC isr, but
must explicitly notify about it, so caller can handle error
and not wait for VSYNC that never happens.
Change-Id: Idc83d8bdc6b8c590fee6dd916717871455c12efd
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
When device is not active we can't register VSYNC isr, but
must explicitly notify about it, so caller can handle error
and not wait for VSYNC that never happens.
Change-Id: Idc83d8bdc6b8c590fee6dd916717871455c12efd
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
OMAPDSS: OMAPFB: assign DSS managers to all framebuffers
Currently all overlays set to mgr0 by default. This leaves only
one display device to omapfb_fb_init() to work with, which causes
all framebuffers to be of same resolution. Instead we assign each
overlay a different manager, thus each framebuffer is linked
to separate display.
Change-Id: I8b185e294c35cb930c774bec9f9dba69ffed2403
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Currently all overlays set to mgr0 by default. This leaves only
one display device to omapfb_fb_init() to work with, which causes
all framebuffers to be of same resolution. Instead we assign each
overlay a different manager, thus each framebuffer is linked
to separate display.
Change-Id: I8b185e294c35cb930c774bec9f9dba69ffed2403
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
OMAPDSS: OMAPFB: Add BGRA32 support in FB Driver
Description: This patch adds BGRA32 color format support for FB driver
relevant to OMAP5 ES2.0 silicons,
Change-Id: I841682437f6a74d355e249431373681cbbdb8ff5
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
Description: This patch adds BGRA32 color format support for FB driver
relevant to OMAP5 ES2.0 silicons,
Change-Id: I841682437f6a74d355e249431373681cbbdb8ff5
Signed-off-by: Sreenidhi Koti <sreenidhi@ti.com>
OMAPDSS: OMAPFB: Select correct VSYNC IRQ based on DSS channel
Select correct VSYNC IRQ for asynchronous vsync notification
based on the DSS channel.
Current VSYNC notification supports only primary LCD panel.
To support VSYNC notification for default HDMI display this
patch adds the VSYNC IRQ selection based on the DSS channel
for default display.
Change-Id: I0594e80d4b4850c278e6bdd3b07c0cb63488be39
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Select correct VSYNC IRQ for asynchronous vsync notification
based on the DSS channel.
Current VSYNC notification supports only primary LCD panel.
To support VSYNC notification for default HDMI display this
patch adds the VSYNC IRQ selection based on the DSS channel
for default display.
Change-Id: I0594e80d4b4850c278e6bdd3b07c0cb63488be39
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Do not suspend HDMI driver in early suspend.
Issue:
HDMI Audio can be active even if display activity
times out.
Analysis:
To save power approach to suspend panel on an
early suspend call was taken. This call of panel
suspend is done by OMAPLFB on early suspend
callback.
There is no issue in case of LCD since it doesnt
carry any audio. Also we only suspend the default
panel and not all the connected panels.
If hdmi is default display we cut HDMI clocks via
omapfb->blank call with NORMAL enum. HDMI audio
driver will close DMA only after the timeout
in userspace.
So we are voilating the expectation of HDMI audio
driver in case HDMI is default panel.
In case HDMI is default there is almost no use case
with battery power devices.
With this fix we can have an HDMI audio playback
happening when display inactivity times out
triggering early suspend.
Change-Id: I2180a20b1579bec8a3f910a5e349fb219437089a
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Issue:
HDMI Audio can be active even if display activity
times out.
Analysis:
To save power approach to suspend panel on an
early suspend call was taken. This call of panel
suspend is done by OMAPLFB on early suspend
callback.
There is no issue in case of LCD since it doesnt
carry any audio. Also we only suspend the default
panel and not all the connected panels.
If hdmi is default display we cut HDMI clocks via
omapfb->blank call with NORMAL enum. HDMI audio
driver will close DMA only after the timeout
in userspace.
So we are voilating the expectation of HDMI audio
driver in case HDMI is default panel.
In case HDMI is default there is almost no use case
with battery power devices.
With this fix we can have an HDMI audio playback
happening when display inactivity times out
triggering early suspend.
Change-Id: I2180a20b1579bec8a3f910a5e349fb219437089a
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB : Dont error if default display is ON
Dont error if default display state is already ON.
Change-Id: I25120083613f5e0ef0e2fea7a5fd26182e1e4b7e
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Dont error if default display state is already ON.
Change-Id: I25120083613f5e0ef0e2fea7a5fd26182e1e4b7e
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB : Add support for default display scaling.
Currently it is assumed that frame buffer size
is same as default panel size. With this assumption
GFX pipeline is always presented to default display FBDev.
GFX pipeline cannot scale so we cannot have a frame
buffer which is not equal to panel size (LCD | HDMI).
Updated the current logic of omapfb to pick video pipelines
in case scaling is required for FB to be presented to default
panel.
To provide FB size option is provided via command line.
e.g
omapfb.fb_opt=0,720,1280,1,640,480
each element is [fb_ix,width,height]
Change-Id: I0b546932ff9119166e123b7bf08352ca836b0842
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Currently it is assumed that frame buffer size
is same as default panel size. With this assumption
GFX pipeline is always presented to default display FBDev.
GFX pipeline cannot scale so we cannot have a frame
buffer which is not equal to panel size (LCD | HDMI).
Updated the current logic of omapfb to pick video pipelines
in case scaling is required for FB to be presented to default
panel.
To provide FB size option is provided via command line.
e.g
omapfb.fb_opt=0,720,1280,1,640,480
each element is [fb_ix,width,height]
Change-Id: I0b546932ff9119166e123b7bf08352ca836b0842
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Asynchronous vsync notification
Enabled and disabled through new OMAPFB_ENABLEVSYNC ioctl. Events delivered
as switch events.
Change-Id: Ie473d96732c5bf2259bac6205d0295d698e6e48b
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Enabled and disabled through new OMAPFB_ENABLEVSYNC ioctl. Events delivered
as switch events.
Change-Id: Ie473d96732c5bf2259bac6205d0295d698e6e48b
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Use omapdss_display_get_dimensions()
Use generic omapdss_display_get_dimensions() to get the panel
dimensions.
Change-Id: I33d5d19fe0a48d0dc2a90c49e3439c9bbd56074c
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Use generic omapdss_display_get_dimensions() to get the panel
dimensions.
Change-Id: I33d5d19fe0a48d0dc2a90c49e3439c9bbd56074c
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Dandawate Saket <dsaket@ti.com>
OMAPDSS: OMAPFB: Change default color format to ARGB32
Earlier the default color format of the framebuffer was xRGB24U, but SGX
is producing data in ARGB32. Also, SGX - the FB driver user - doesn't negotiate
with FB driver for the format and thus FB needs to provide ARGB32 as default
to align with SGX format.
Change-Id: I5609d633cec3104d7711d163d47dd4da803d6ff3
Signed-off-by: Mark Tyler <mark.tyler@ti.com>
Signed-off-by: Varadarajan, Charulatha <charu@ti.com>
Earlier the default color format of the framebuffer was xRGB24U, but SGX
is producing data in ARGB32. Also, SGX - the FB driver user - doesn't negotiate
with FB driver for the format and thus FB needs to provide ARGB32 as default
to align with SGX format.
Change-Id: I5609d633cec3104d7711d163d47dd4da803d6ff3
Signed-off-by: Mark Tyler <mark.tyler@ti.com>
Signed-off-by: Varadarajan, Charulatha <charu@ti.com>
OMAPDSS: OMAPFB: Switch HDMI timings & EDID handling to use fbmon
1. Change hdmi_timings to fb_videomode that contains the same
information (and more) as the private hdmi_timigs
Use fb modedb to get timings and CEA pixel ratio info.
Relaxed mode checking to allow 0.5% tolerance in the
pixel clock - as required by CEA standard.
2. Change mode lifecycle
- on HDMI power ON, first select VGA mode, as this is the universally
supported format
- before disabling HDMI, reset mode so that if starts in VGA again.
However, do not do this in hdmi_power_off, only in disable display,
so we keep the mode on suspend, as there will be no hpd event forcing
an edid read.
3. Added set_mode hook to HDMI which now implements this call.
Change-Id: Iaf0e88527ee5860fc7c8c1ac04dea1fb4bed67ff
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Varadarajan, Charulatha <charu@ti.com>
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
1. Change hdmi_timings to fb_videomode that contains the same
information (and more) as the private hdmi_timigs
Use fb modedb to get timings and CEA pixel ratio info.
Relaxed mode checking to allow 0.5% tolerance in the
pixel clock - as required by CEA standard.
2. Change mode lifecycle
- on HDMI power ON, first select VGA mode, as this is the universally
supported format
- before disabling HDMI, reset mode so that if starts in VGA again.
However, do not do this in hdmi_power_off, only in disable display,
so we keep the mode on suspend, as there will be no hpd event forcing
an edid read.
3. Added set_mode hook to HDMI which now implements this call.
Change-Id: Iaf0e88527ee5860fc7c8c1ac04dea1fb4bed67ff
Signed-off-by: Lajos Molnar <lajos@ti.com>
Signed-off-by: Varadarajan, Charulatha <charu@ti.com>
Signed-off-by: Muralidhar Dixit <murali.dixit@ti.com>
OMAPDSS: OMAPFB: export functions for PVR driver
Export omapfb_set_update_mode and omapfb_get_update_mode
needed by the PVR kernel modules.
Change-Id: I5b4f2feeb2c8280550df06fafa76cc1ed6ce79bf
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Export omapfb_set_update_mode and omapfb_get_update_mode
needed by the PVR kernel modules.
Change-Id: I5b4f2feeb2c8280550df06fafa76cc1ed6ce79bf
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
OMAPDSS: OMAPFB: Export omapfb_mode_to_dss_mode.
This method is used to set up DSSCOMP structures from OMAPLFB.
Change-Id: I97506443306b3f96f246602c9d3bef065d649541
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Lajos Molnar <molnar@ti.com>
This method is used to set up DSSCOMP structures from OMAPLFB.
Change-Id: I97506443306b3f96f246602c9d3bef065d649541
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
Signed-off-by: Lajos Molnar <molnar@ti.com>
ARCH: OMAP: FB: Omapfb_set_platform_data move
Omapfb_set_platform_data function must be moved before
the initialization or else omapfb_config will never
be set with the correct data.
Change-Id: I8366f54973fdb367cc3e47714b92216ffbe0691b
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
Omapfb_set_platform_data function must be moved before
the initialization or else omapfb_config will never
be set with the correct data.
Change-Id: I8366f54973fdb367cc3e47714b92216ffbe0691b
Signed-off-by: Arthur Philpott <arthur.philpott@ti.com>
OMAPDSS: OMAPFB : Add support for VRAM size read
Add support to read vram size set by board file.
This value is then used in to create framebuffers in
vram. If the board file doesnt set the memory region
then vram which can fit in only 1 flip chain buffer
is allocated.
Change-Id: I5c53af56eafe70ae1fba0212f2a17e66e4381c88
Signed-off-by: Dandawate Saket <dsaket@ti.com>
Add support to read vram size set by board file.
This value is then used in to create framebuffers in
vram. If the board file doesnt set the memory region
then vram which can fit in only 1 flip chain buffer
is allocated.
Change-Id: I5c53af56eafe70ae1fba0212f2a17e66e4381c88
Signed-off-by: Dandawate Saket <dsaket@ti.com>