summaryrefslogtreecommitdiffstats
path: root/sys/contrib/vchiq
Commit message (Collapse)AuthorAgeFilesLines
* ARM: Use new ARMv6 naming conventions for cache and TLB functionsmmel2016-02-051-1/+4
| | | | | | in all but ARMv4 specific files. Expand ARMv6 compatibility stubs in cpu-v4.h. Use physical address in L2 cache functions if ARM_L2_PIPT is defined.
* Fix order of last two arguments of mtx_initgonzo2016-01-141-1/+1
| | | | Spotted by: jmcneill@NetBSD.org
* Fix inconsistent use of malloc type for cdev private data.skra2015-11-231-3/+1
| | | | | | | Remove M_VCHIQ malloc type, now not used anywhere. Reviewed by: gonzo Approved by: kib (mentor)
* Fix slots DMA memory handling. It's similar to r290553.skra2015-11-101-3/+3
| | | | | Discussed with: gonzo Approved by: kib (mentor)
* Fix pagelist bus_dmamap_t map handling. Memory for pagelist is allocatedskra2015-11-081-3/+1
| | | | | | | | | | | by bus_dmamem_alloc() which creates associated bus_dmamap_t map for us. When this memory is freed by bus_dmamem_free(), the map is freed as well. Thus there is no need to free it explicitly by bus_dmamap_destroy(), which leads to double freeing. Discussed with: gonzo Approved by: kib (mentor)
* vchiq interrupt is MP safe, add respective flag to bus_setup_intrgonzo2015-11-081-1/+1
|
* Fix locking for VCHI driver by matching sleepable/non-sleepable APIs:gonzo2015-11-081-24/+20
| | | | | | | - Emulate Linux mutex API using sx(9) locks with only exclusive operations instead of mutex(9), in Linux mutexes are sleepable. - Emulate Linux rwlock_t using rwlock(9) instead of sx(9). rwlock_t in Linux are spin locks
* Fix cache issues with bulk transfersgonzo2015-11-033-33/+38
| | | | | | | | | - Use pmap_quick_enter_page/pmap_quick_remove_page to bounce non-cacheline aligned head and tail fragments - Switch from static fragment size to configurable one, newer firmware passes cache line size as cache_line_size DTB parameter. With these changes both RPi and RPi2 pass functinal part of vchiq_test
* Synchronize with latest upstream VCHI code:gonzo2015-11-0121-313/+881
| | | | | | | | - Add LIB_VERSION ioctl - Add CLOSE_DELIVERED ioctl - Bump code version Upstream version: 3782f2ad42c08f4d32f64138f8be7341afc380f5
* Fix BULK read transfer if destination buffer is not cache line-aligned.gonzo2015-10-301-3/+23
| | | | | | We can't use copyout because destination memory is userland address in another process but we have reference to respective page so map the page into kernel address space and copy fragments there
* CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than tenjkim2015-05-221-1/+1
| | | | | | | | | | years for head. However, it is continuously misused as the mpsafe argument for callout_init(9). Deprecate the flag and clean up callout_init() calls to make them more consistent. Differential Revision: https://reviews.freebsd.org/D2613 Reviewed by: jhb MFC after: 2 weeks
* Use the dsb macro to use the correct instruction when building for ARMv7.andrew2015-03-191-1/+1
|
* Fix build without INVARIANTS/INVARIANT_SUPPORT:gonzo2015-02-131-1/+7
| | | | | | | - Replace "emulation" of return in lmutex_lock_interruptible macros by proper static/inline function. Submitted by: Guy Yur
* - Perform bus_dmamap_sync on pagelist structuregonzo2015-02-121-6/+22
| | | | - Wire pages of bulk transfer buffer when preparing pagelist
* Do not mark shared structures as __packed, it leads to race conditiongonzo2015-02-091-3/+3
| | | | | | | | If structure packed as __packed clang (and probably gcc) generates code that loads word fields (e.g. tx_pos) byte-by-byte and if it's modified by VideoCore in the same time as ARM loads the value result is going to be mixed combination of bytes from previous value and new one.
* Remove unused variablesgonzo2015-02-092-3/+0
|
* Act as a bus in attach method: probe and attach devicesgonzo2015-02-081-0/+3
|
* Import VCHI driver for Broadcom's VideoCore IV GPUgonzo2015-02-0532-0/+13579
Differential Revision: D1753
OpenPOWER on IntegriCloud