• Souradeep Chowdhury's avatar
    soc: qcom: dcc: Add driver support for Data Capture and Compare unit(DCC) · 4cbe60cf
    Souradeep Chowdhury authored
    The DCC is a DMA Engine designed to capture and store data
    during system crash or software triggers. The DCC operates
    based on user inputs via the debugfs interface. The user gives
    addresses as inputs and these addresses are stored in the
    dcc sram. In case of a system crash or a manual software
    trigger by the user through the debugfs interface,
    the dcc captures and stores the values at these addresses.
    This patch contains the driver which has all the methods
    pertaining to the debugfs interface, auxiliary functions to
    support all the four fundamental operations of dcc namely
    read, write, read/modify/write and loop. The probe method
    here instantiates all the resources necessary for dcc to
    operate mainly the dedicated dcc sram where it stores the
    values. The DCC driver can be used for debugging purposes
    without going for a reboot since it can perform software
    triggers as well based on user inputs.
    
    Also add the documentation for debugfs entries which explains
    the functionalities of each debugfs file that has been created
    for dcc.
    
    The following is the justification of using debugfs interface
    over the other alternatives like sysfs/ioctls
    
    i) As can be seen from the debugfs attribute descriptions,
    some of the debugfs attribute files here contains multiple
    arguments which needs to be accepted from the user. This goes
    against the design style of sysfs.
    
    ii) The user input patterns have been made simple and convenient
    in this case with the use of debugfs interface as user doesn't
    need to shuffle between different files to execute one instruction
    as was the case on using other alternatives.
    Signed-off-by: default avatarSouradeep Chowdhury <quic_schowdhu@quicinc.com>
    Reviewed-by: default avatarAlex Elder <elder@linaro.org>
    [bjorn: Fixed up a few indents and line wraps]
    Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
    Link: https://lore.kernel.org/r/644b4f66a358492a8a6738454035c3b120092fe7.1672148732.git.quic_schowdhu@quicinc.com
    4cbe60cf
debugfs-driver-dcc 4.27 KB