mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-10-31 18:09:19 +00:00
b08befa1dd
kickstart bridge driver will be used to download boot images to mdm, ram-dumps and efs sync. Change-Id: Id35e2da664ebf4a16c84d6fb67fbf38a2855356a Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
46 lines
1.6 KiB
Text
46 lines
1.6 KiB
Text
Introduction
|
|
--------------
|
|
ksbridge is a simple misc device which bridges Kickstart application
|
|
to HSIC h/w. Driver supports two instances, one instance for
|
|
flash-less-boot/ram-dumps and other instance for EFS Sync.
|
|
|
|
Initialization
|
|
--------------
|
|
Create two bridge instances and register for usb devices 0x9008 and
|
|
0x9048/0x904C. Misc device name depends on the USB PID.
|
|
For PID: 9008, misc device name is ks_bridge and for PID:9048/904C,
|
|
misc device name is efs_bridge. After KS opens the misc device, IN
|
|
URBs will be submitted to H/W; By default IN URBS are configured
|
|
to 20.
|
|
|
|
TX PATH
|
|
-------
|
|
Transmit path is very simple. Bridge driver will exposes write system
|
|
call to kickstart. Data from write call will be put into a list and a
|
|
work is scheduled to take the data from the list and write to HSIC.
|
|
|
|
Functions:
|
|
ksb_fs_write: System call invoked when kickstart writes the data
|
|
ksb_tomdm_work: Work function which submits data to HSIC h/w.
|
|
|
|
Data Structures:
|
|
to_mdm_list: Data is stored in this list
|
|
to_mdm_work: mapped to ksb_tomdm_work function
|
|
|
|
RX PATH
|
|
-------
|
|
During initialization 20 IN URBs are submitted to hsic controller. In
|
|
completion handler of each URB, buffer is de-queued and add to a list.
|
|
Read function is woken-up. A new buffer is created and submitted to
|
|
controller.
|
|
|
|
Functions:
|
|
ksb_fs_read: system call invoked by ks when it tries to read the data
|
|
ksb_rx_cb: rx urb completion handler
|
|
ksb_start_rx_work: function called during initialization.
|
|
|
|
Data Structures:
|
|
ks_wait_q: read system call will block on this queue until data is
|
|
available or device is disconnected
|
|
to_ks_list: data queued to this list by rx urb completion handler,
|
|
later de-queued by read system call.
|