For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
The old cache coherency function names where wrong and misleading.
The new names are (purposely different from vendor manuals)
* commit_* (write-back only)
* discard_* (removing lines from cache only)
* commit_discard_* (write-back and removing lines from cache)
It's suspected the old names have led to wrong uses. The old names still exist
(as aliases) so every call via the old names need to be double checked and changed
to the new name.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28045 a1c6a512-1295-4272-9138-f99709370657
IN & OUT interrupts have not much in common so move each to its own
function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28043 a1c6a512-1295-4272-9138-f99709370657
- reorder members (largest members first)
- int status -> int8_t status (we only use 0 or -1)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28042 a1c6a512-1295-4272-9138-f99709370657
- use a single table to store endpoints numbers (1 table by direction)
- drop __ prefix since the table isn't meant to be hidden (it is used in
reset_endpoints()
- the tables won't change at runtime: mark const
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28038 a1c6a512-1295-4272-9138-f99709370657
set status to failure before signaling usb_drv_send_nonblocking() in
reset_endpoints()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28037 a1c6a512-1295-4272-9138-f99709370657
Use ep0_setup_pkt as a pointer
Fix comment for CGU_USB clk source
Remove comment about physical address, the macro handles that for us
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28035 a1c6a512-1295-4272-9138-f99709370657
Ask for alignement of USB buffers on cache line
Also remind that the hardware is identical to the hardware in nano2g
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28033 a1c6a512-1295-4272-9138-f99709370657
Since we'll receive data from DMA in this buffer we don't need to write-back
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28032 a1c6a512-1295-4272-9138-f99709370657
- don't use *_dcache_range() on uncached memory
- remove unused struct endpoint->buffer
- use correct *_dcache_range() in usb_drv_transfer() for each direction
- halve FIFO size
sometimes mounts / sometimes fails
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28031 a1c6a512-1295-4272-9138-f99709370657
- implement request_endpoint
- setup nextep chain for in endpoints
- remove useless dcache operation on IN transfer completion
- fix transfers to use correct max packet size
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28028 a1c6a512-1295-4272-9138-f99709370657
- use uncached address to access setup packet
- implement driver exit
- stop forcing full speed
- change fifo sizes on init
- don't call invalid_dache() on setup packet because it makes everything fail
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28027 a1c6a512-1295-4272-9138-f99709370657
it might a bug in the 4 years old gcc version, but __ASSEMBLER__ is not
defined when preprocessing .S files with -std=gnu99
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28026 a1c6a512-1295-4272-9138-f99709370657
The register prefix is always % for the architecture we use (elf),
hardcode it instead of confusing the preprocessor
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28025 a1c6a512-1295-4272-9138-f99709370657
example: for(int i=0; i<n; i++) ;
This should have no side effects
It was already used for android builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28021 a1c6a512-1295-4272-9138-f99709370657
casts in const tables declaration seesm to confuse gcc into thinking the
initializers are not constant
Also merge struct declaration and typedef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28020 a1c6a512-1295-4272-9138-f99709370657
some functions can be static -> static inline
some functions are external and can't be inlined -> remove inline
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28019 a1c6a512-1295-4272-9138-f99709370657