Symmetric/Asymmetric Hashing and Random Accelerator (Sahara) Drivers
i.MX51 EVK Linux Reference Manual
Freescale Semiconductor
23-5
— Return
success
or
failure
as appropriate
•
If this is a deregistration request and the user is not registered, return
never registered
•
If this is a deregistration request and the user is registered
— Remove user information in Registration List
— Depopulate its User Context Object
— Return
success
or
failure
as appropriate
•
If this is not a registration or deregistration request (that is, any other User request), access the
Registration List to see if the requestor is registered with the driver
— If User is registered, pass the request to the Command process
— If the User is not registered, return
unregistered
error to the requesting process
23.2.2.9
Command
The Command determines what service was requested and directs the driver to fulfill that service. The
system determines whether it is a service that the driver can fulfill without the use of the Sahara HW or not
For requests that involve Sahara hardware, the system does the following:
1. Checks that there is room in the Command Queue. If there is not, returns a
queue full
status and
terminates
2. Checks that there is room in the Result Pool. If there is not, returns a
pool full
status and
terminates
3. Checks that this user has not reached its maximum number of outstanding requests. If it has, return
request limit reached
4. Invokes the Translator process to convert received memory addresses
5. If Command Queue is empty, enters descriptor chain pointer into the Sahara Descriptor Address
Register (DAR). This starts the processing of descriptors which continues until the Command
Queue is empty
6. Enters the UCO and descriptor pointer in Command Queue, and whatever additional information
may be needed, to await execution
7. Checks if the
RNG Reseed Req
bit is set in the Status register and, if so, puts an RNG Reseed
descriptor into the command queue to reseed the RNG
User Blocking/Non-blocking requests are handled as listed
Table 23-1. Blocking/Non-Blocking Definitions
Feature
Driver Poll Mode
Driver Interrupt Mode
User Blocking
User waits for request completion. Driver never
gives up processor.
User waits for request completion. Driver queues
request, suspends calling task, and releases
processor (on completion the Driver
un-suspends task / returns)
Summary of Contents for i.MX51 EVK
Page 1: ...Part Number 924 76374 Rev 10 11 01 11 2010 i MX51 EVK Linux Reference Manual...
Page 14: ...i MX51 EVK Linux Reference Manual xiv Freescale Semiconductor...
Page 18: ...i MX51 EVK Linux Reference Manual xviii Freescale Semiconductor...
Page 24: ...i MX51 EVK Linux Reference Manual xxiv Freescale Semiconductor...
Page 38: ...Machine Specific Layer MSL i MX51 EVK Linux Reference Manual 2 8 Freescale Semiconductor...
Page 52: ...MC13892 Digitizer Driver i MX51 EVK Linux Reference Manual 5 4 Freescale Semiconductor...
Page 64: ...TV Encoder TVE Driver i MX51 EVK Linux Reference Manual 10 4 Freescale Semiconductor...
Page 82: ...Video for Linux Two V4L2 Driver i MX51 EVK Linux Reference Manual 12 8 Freescale Semiconductor...
Page 86: ...i MX5 Dual Display i MX51 EVK Linux Reference Manual 13 4 Freescale Semiconductor...
Page 100: ...X Windows Acceleration i MX51 EVK Linux Reference Manual 16 6 Freescale Semiconductor...
Page 118: ...Low Level Keypad Driver i MX51 EVK Linux Reference Manual 20 6 Freescale Semiconductor...
Page 134: ...Security Drivers i MX51 EVK Linux Reference Manual 22 10 Freescale Semiconductor...
Page 148: ...Inter IC I2C Driver i MX51 EVK Linux Reference Manual 24 4 Freescale Semiconductor...
Page 178: ...ARC USB Driver i MX51 EVK Linux Reference Manual 29 10 Freescale Semiconductor...
Page 194: ...OProfile i MX51 EVK Linux Reference Manual 33 6 Freescale Semiconductor...