Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 618100f8 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge tag 'drm-i915-get-eld' of tiwai/sound into drm-intel-next-queued



Add get_eld audio component for i915/HD-audio

Currently, the HDMI/DP audio status and ELD are notified and obtained
via the hardware-level communication over HD-audio unsolicited event
and verbs although the graphics driver holds the exactly same
information.  As we already have a notification via audio component,
this is another step forward; namely, the audio driver may fetch
directly the audio status and ELD via the new component op.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
parents 9e7d18c0 0bdf5a05
Loading
Loading
Loading
Loading
+12 −36
Original line number Diff line number Diff line
@@ -615,18 +615,6 @@ char *date;</synopsis>
          <function>drm_gem_object_init</function>. Storage for private GEM
          objects must be managed by drivers.
        </para>
        <para>
          Drivers that do not need to extend GEM objects with private information
          can call the <function>drm_gem_object_alloc</function> function to
          allocate and initialize a struct <structname>drm_gem_object</structname>
          instance. The GEM core will call the optional driver
          <methodname>gem_init_object</methodname> operation after initializing
          the GEM object with <function>drm_gem_object_init</function>.
          <synopsis>int (*gem_init_object) (struct drm_gem_object *obj);</synopsis>
        </para>
        <para>
          No alloc-and-init function exists for private GEM objects.
        </para>
      </sect3>
      <sect3>
        <title>GEM Objects Lifetime</title>
@@ -635,10 +623,10 @@ char *date;</synopsis>
          acquired and release by <function>calling drm_gem_object_reference</function>
          and <function>drm_gem_object_unreference</function> respectively. The
          caller must hold the <structname>drm_device</structname>
          <structfield>struct_mutex</structfield> lock. As a convenience, GEM
          provides the <function>drm_gem_object_reference_unlocked</function> and
          <function>drm_gem_object_unreference_unlocked</function> functions that
          can be called without holding the lock.
	  <structfield>struct_mutex</structfield> lock when calling
	  <function>drm_gem_object_reference</function>. As a convenience, GEM
	  provides <function>drm_gem_object_unreference_unlocked</function>
	  functions that can be called without holding the lock.
        </para>
        <para>
          When the last reference to a GEM object is released the GEM core calls
@@ -649,15 +637,9 @@ char *date;</synopsis>
        </para>
        <para>
          <synopsis>void (*gem_free_object) (struct drm_gem_object *obj);</synopsis>
          Drivers are responsible for freeing all GEM object resources, including
          the resources created by the GEM core. If an mmap offset has been
          created for the object (in which case
          <structname>drm_gem_object</structname>::<structfield>map_list</structfield>::<structfield>map</structfield>
          is not NULL) it must be freed by a call to
          <function>drm_gem_free_mmap_offset</function>. The shmfs backing store
          must be released by calling <function>drm_gem_object_release</function>
          (that function can safely be called if no shmfs backing store has been
          created).
          Drivers are responsible for freeing all GEM object resources. This includes
          the resources created by the GEM core, which need to be released with
          <function>drm_gem_object_release</function>.
        </para>
      </sect3>
      <sect3>
@@ -740,17 +722,10 @@ char *date;</synopsis>
          DRM identifies the GEM object to be mapped by a fake offset passed
          through the mmap offset argument. Prior to being mapped, a GEM object
          must thus be associated with a fake offset. To do so, drivers must call
          <function>drm_gem_create_mmap_offset</function> on the object. The
          function allocates a fake offset range from a pool and stores the
          offset divided by PAGE_SIZE in
          <literal>obj-&gt;map_list.hash.key</literal>. Care must be taken not to
          call <function>drm_gem_create_mmap_offset</function> if a fake offset
          has already been allocated for the object. This can be tested by
          <literal>obj-&gt;map_list.map</literal> being non-NULL.
          <function>drm_gem_create_mmap_offset</function> on the object.
        </para>
        <para>
          Once allocated, the fake offset value
          (<literal>obj-&gt;map_list.hash.key &lt;&lt; PAGE_SHIFT</literal>)
          must be passed to the application in a driver-specific way and can then
          be used as the mmap offset argument.
        </para>
@@ -836,10 +811,11 @@ char *date;</synopsis>
          abstracted from the client in libdrm.
        </para>
      </sect3>
      <sect3>
    </sect2>
    <sect2>
      <title>GEM Function Reference</title>
!Edrivers/gpu/drm/drm_gem.c
      </sect3>
!Iinclude/drm/drm_gem.h
    </sect2>
    <sect2>
      <title>VMA Offset Manager</title>
+0 −18
Original line number Diff line number Diff line
@@ -49,24 +49,6 @@ specified through DTS. Following are the DTS used:-
The device tree documentation for the keystone machines are located at
        Documentation/devicetree/bindings/arm/keystone/keystone.txt

Known issues & workaround
-------------------------

Some of the device drivers used on keystone are re-used from that from
DaVinci and other TI SoCs. These device drivers may use clock APIs directly.
Some of the keystone specific drivers such as netcp uses run time power
management API instead to enable clock. As this API has limitations on
keystone, following workaround is needed to boot Linux.

   Add 'clk_ignore_unused' to the bootargs env variable in u-boot. Otherwise
   clock frameworks will try to disable clocks that are unused and disable
   the hardware. This is because netcp related power domain and clock
   domains are enabled in u-boot as run time power management API currently
   doesn't enable clocks for netcp due to a limitation. This workaround is
   expected to be removed in the future when proper API support becomes
   available. Until then, this work around is needed.


Document Author
---------------
Murali Karicheri <m-karicheri2@ti.com>
+3 −0
Original line number Diff line number Diff line
@@ -70,3 +70,6 @@ use_per_node_hctx=[0/1]: Default: 0
     parameter.
  1: The multi-queue block layer is instantiated with a hardware dispatch
     queue for each CPU node in the system.

use_lightnvm=[0/1]: Default: 0
  Register device with LightNVM. Requires blk-mq to be used.
+6 −0
Original line number Diff line number Diff line
@@ -8,6 +8,11 @@ Required properties:
- phy-mode: See ethernet.txt file in the same directory
- clocks: a pointer to the reference clock for this device.

Optional properties:
- tx-csum-limit: maximum mtu supported by port that allow TX checksum.
  Value is presented in bytes. If not used, by default 1600B is set for
  "marvell,armada-370-neta" and 9800B for others.

Example:

ethernet@d0070000 {
@@ -15,6 +20,7 @@ ethernet@d0070000 {
	reg = <0xd0070000 0x2500>;
	interrupts = <8>;
	clocks = <&gate_clk 4>;
	tx-csum-limit = <9800>
	status = "okay";
	phy = <&phy0>;
	phy-mode = "rgmii-id";
+3 −1
Original line number Diff line number Diff line
* Temperature Sensor ADC (TSADC) on rockchip SoCs

Required properties:
- compatible : "rockchip,rk3288-tsadc"
- compatible : should be "rockchip,<name>-tsadc"
   "rockchip,rk3288-tsadc": found on RK3288 SoCs
   "rockchip,rk3368-tsadc": found on RK3368 SoCs
- reg : physical base address of the controller and length of memory mapped
	region.
- interrupts : The interrupt number to the cpu. The interrupt specifier format
Loading