• T
    ALSA: dice: Split transaction functionality into a file · 7c2d4c0c
    Takashi Sakamoto 提交于
    This commit adds a file with some helper functions for transaction, and move
    some codes into the file with some arrangements.
    
    For Dice chipset, well-known FCP or AV/C commands are not used to control
    devices. It's achieved by read/write transactions into specific addresses.
    
    Dice's address area is split into 5 areas. Each area has its own role. The
    offset for each area can be got by reading head of the address area. By
    reading these areas, drivers can get to know device status. By writing these
    areas, drivers can change device status.
    
    Dice has a specific mechanism called as 'notification'. When device status is
    changed, Dice devices tells the event by sending transaction. This notification
    is sent to an address which drivers register in advance. But this causes an
    issue to drivers.
    
    To handle the notification, drivers need to allocate its own callback function
    to the address region in host controller. This region is exclusive. For the
    other applications, drivers must give a mechanism to read the received
    notification. For this purpose, Dice driver already implements hwdep interface.
    
    Dice chipset doesn't allow drivers to register several addresses. In this
    reason, when this driver is applied to a device, the other drivers should
    _not_ try to register its own address to the device.
    Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    7c2d4c0c
dice.c 30.2 KB