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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel