• Wentong Wu's avatar
    media: pci: intel: ivsc: Add ACE submodule · 78876f71
    Wentong Wu authored
    ACE is a submodule of IVSC which controls camera sensor's
    ownership, belonging to host or IVSC. When IVSC owns camera
    sensor, it is for algorithm computing. When host wants to
    control camera sensor, ACE module needs to be informed of
    ownership with defined interface.
    
    The interface is via MEI. There is a separate MEI UUID, which
    this driver uses to enumerate.
    
    To switch ownership of camera sensor between IVSC and host,
    the caller specifies the defined ownership information which
    will be sent to firmware by sending MEI command.
    
    Device link(device_link_add) is used to set the right camera
    sensor ownership before accessing the sensor via I2C. With
    DL_FLAG_PM_RUNTIME and DL_FLAG_RPM_ACTIVE, the supplier device
    will be PM runtime resumed before the consumer(camera sensor).
    So use runtime PM callbacks to transfer the ownership between
    host and IVSC.
    Signed-off-by: default avatarWentong Wu <wentong.wu@intel.com>
    Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    78876f71
mei_ace.c 12.4 KB