[PATCH 00/48] omapdrm: Merge omapdrm and omapdss

Tomi Valkeinen tomi.valkeinen at ti.com
Wed Oct 18 09:46:47 UTC 2017


Hi Laurent,


Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

On 13/10/17 17:58, Laurent Pinchart wrote:
> Hello,
> 
> This patch series merges the omapdrm and omapdss drivers into a single driver
> called omapdrm. The split in two drivers was historical, in order to support
> the FBDEV, V4L2 and DRM/KMS APIs. Now that the driver supports DRM/KMS only
> there's no need to keep two seperate drivers.
> 
> The series starts with a few cleanups (01/48 to 03/48) and quickly proceeds to
> merging the omapdss and omapdss-base modules (04/48). It then prepares the
> omapdss code (05/48 to 08/48), perform a few more cleanups (09/48 to 11/48)
> and prepares the omapdrm code (12/48).
> 
> Patches 13/48 to 19/48 prepare the connector, encoder and panel drivers. All
> those drivers defer probing when their video source can't be found at probe
> time. This would cause endless probe deferral when merging omapdrm and omapdss
> as the drivers need omapdss to be fully initialized to probe successfully, but
> cause omapdrm to defer probing when they're not available.
> 
> Patch 20/48 merges the omapdrm and omapdss drivers.
> 
> The next patches are added bonuses that start removal of global variables from
> the driver. The code relies heavily on global variables for objects that are
> instance-specific, and should thus be dynamically allocated. Most of the
> patches change internal APIs to pass objects to driver functions (21/48 to
> 28/48, 36/48, 39/48 to 41/38, 43/48 to 45/48) with a few miscellaneous
> cleanups (29/48, 35/48, 37/48, 38/48, 42/48). Patches 30/48 to 34/48 and 46/48
> then allocate instance objects dynamically to replace global variables, and
> patches 47/48 and 48/48 move global variables to existing instance objects.
> 
> The series has been tested on a Pandaboard with the DVI and HDMI output.

Here's what I get on AM5 EVM:

# ./s-drm-new 
[   17.535638] sysrq: SysRq : Changing Loglevel
[   17.540179] sysrq: Loglevel set to 9
insmod nfs/work/linux/sound/soc/omap/snd-soc-omap-hdmi-audio.ko
insmod nfs/work/linux/drivers/media/cec/cec.ko
insmod nfs/work/linux/drivers/video/fbdev/core/cfbcopyarea.ko
insmod nfs/work/linux/drivers/video/fbdev/core/cfbimgblt.ko
insmod nfs/work/linux/drivers/video/fbdev/core/cfbfillrect.ko
insmod nfs/work/linux/drivers/gpu/drm/drm.ko
insmod nfs/work/linux/drivers/gpu/drm/drm_kms_helper.ko
insmod nfs/work/linux/drivers/gpu/drm/omapdrm/omapdrm.ko
[   17.966444] dmm 4e000000.dmm: initialized all PAT entries
[   18.004857] DSS: OMAP DSS rev 6.1
[   18.010743] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.025076] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.050076] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.074540] omapdss_dss 58000000.dss: master bind failed: -517
[   18.083499] DSS: OMAP DSS rev 6.1
[   18.088284] alloc_contig_range: [fd874, fd875) PFNs busy
[   18.095583] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
# [   18.113296] alloc_contig_range: [fd8c0, fd8e0) PFNs busy
[   18.119651] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.134440] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.154449] omapdss_dss 58000000.dss: master bind failed: -517
[   18.163344] DSS: OMAP DSS rev 6.1
[   18.167982] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.179600] alloc_contig_range: [fd8c0, fd8e0) PFNs busy
[   18.185013] alloc_contig_range: [fd8e0, fd900) PFNs busy
[   18.190805] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.203003] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.219239] omapdss_dss 58000000.dss: master bind failed: -517
[   18.228977] DSS: OMAP DSS rev 6.1
[   18.232446] alloc_contig_range: [fd874, fd875) PFNs busy
[   18.238816] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.250433] alloc_contig_range: [fd8c0, fd8e0) PFNs busy
[   18.255847] alloc_contig_range: [fd8e0, fd900) PFNs busy
[   18.261406] alloc_contig_range: [fd9a0, fd9c0) PFNs busy
[   18.267156] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.279429] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.297217] omapdss_dss 58000000.dss: master bind failed: -517
[   18.305306] DSS: OMAP DSS rev 6.1
[   18.309734] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.321303] alloc_contig_range: [fd8c0, fd8e0) PFNs busy
[   18.326830] alloc_contig_range: [fd8e0, fd900) PFNs busy
[   18.332468] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.344813] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.361397] omapdss_dss 58000000.dss: master bind failed: -517
[   18.369603] DSS: OMAP DSS rev 6.1
[   18.373978] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.387972] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.400358] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.417037] omapdss_dss 58000000.dss: master bind failed: -517
[   18.425116] DSS: OMAP DSS rev 6.1
[   18.429554] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.441269] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.453897] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.470158] omapdss_dss 58000000.dss: master bind failed: -517
[   18.478372] DSS: OMAP DSS rev 6.1
[   18.482757] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.494562] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.506848] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.520734] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.540107] omapdss_dss 58000000.dss: master bind failed: -517
[   18.548322] DSS: OMAP DSS rev 6.1
[   18.552654] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.564934] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.577309] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.590448] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.609305] omapdss_dss 58000000.dss: master bind failed: -517
[   18.617489] DSS: OMAP DSS rev 6.1
[   18.621870] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.633776] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.646049] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.660047] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: Permission denied
[   18.678718] omapdss_dss 58000000.dss: master bind failed: -517
[   18.686933] DSS: OMAP DSS rev 6.1
[   18.691260] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.703308] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.715547] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.729422] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.748279] omapdss_dss 58000000.dss: master bind failed: -517
[   18.750583] DSS: OMAP DSS rev 6.1
[   18.751625] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.759036] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.761967] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.794535] omapdss_dss 58000000.dss: master bind failed: -517
[   18.803032] DSS: OMAP DSS rev 6.1
[   18.808001] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.819415] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.821623] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.824505] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.865204] omapdss_dss 58000000.dss: master bind failed: -517
[   18.873379] DSS: OMAP DSS rev 6.1
[   18.878182] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.889609] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.890512] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok
[   18.893486] omapdss_dss 58000000.dss: bound 58040000.encoder (ops hdmi5_component_ops [omapdrm])
[   18.934801] omapdss_dss 58000000.dss: master bind failed: -517
[   18.942980] DSS: OMAP DSS rev 6.1
[   18.947418] omapdss_dss 58000000.dss: bound 58001000.dispc (ops dispc_component_ops [omapdrm])
[   18.959247] udevd[158]: error opening ATTR{/sys/devices/platform/44000000.ocp/58000000.dss/58040000.encoder/omap-hdmi-audio.2.auto/sound/card1/con
trolC1/../uevent} for writing: No such file or directory
[   18.959296] omap-hdmi-audio omap-hdmi-audio.2.auto: snd-soc-dummy-dai <-> 58040000.encoder mapping ok



More information about the dri-devel mailing list