Motorola LA-51XX Driver Programmer's Manual page 15

Compact flash adapter
Table of Contents

Advertisement

2.2.2.1 Flow Description
1. When the driver receives the request from the getoid application through Netlink Interface, it frames the
request in the s_sm_conf format using sm_drv_get() function:
struct s_sm_conf
{
uint16_t flags;
uint16_t length;
uint32_t oid;
uint8_t *data;
};
2. The s_sm_conf structure is passed to sm_drv_conf(), which sets the PIMFOR Header and reads the value
of flags set and checks if the packet is for PIMFOR_OP_SET or PIMFOR_OP_GET
3. The structure is added into Tx Control queue after converting into fragment
4. Increments Driver_Current_fragment queue value. This queue pointer is used to maintain
synchronization between device and host. Driver interrupts the device for the packet in the transmit
control queue
5. The driver suspends the application until a response is received from the firmware:
a. Put on the sleep queue.
b. When response is received, need to distinguish whether it is a TRAP or a response to the GET
operation.
c. If it is a response, wake up the sleeping process.
6. Pass the response to the application.
2-7
SHoC Driver Design

Advertisement

Table of Contents
loading

Table of Contents