summaryrefslogtreecommitdiffstats
path: root/sys/contrib/vchiq
Commit message (Collapse)AuthorAgeFilesLines
* MFC r310560:gonzo2017-05-081-2/+2
| | | | | | | | | | | | [vchi] replace non-reproducible __DATE__/__TIME__ with hardcoded string Although vchiq_build_date and vchiq_build_time are not used in current vchi driver at the moment, make sure these value will not leak into build later on if at some point they will be refered in some new imported code PR: 215494 Reported by: emaste
* MFC r312292, r313573:ian2017-03-021-1/+1
| | | | | | | | | | | | | | | Stop including sys/types.h from arm's machine/atomic.h, fix the places where atomic.h was being included without ensuring that types.h (via param.h) was included first, as required by atomic(9). Remove arm's cpuconf.h, and references to it, after moving a few lines from it into pmap-v4.h where they are used. Other than those few lines of support for different MMU types, nothing in cpuconf.h has been used in our code for quite a while. The file existed to set up a variety of symbols to describe the architecture. Over the past few years we have converted all of our source to use the new architecture symbols standardized by ARM Inc, and predefined by both clang and gcc.
* MFC r308659:loos2016-12-301-1/+0
| | | | Reduce dmesg verbosity.
* MFC r307067, r307068, r307087, r307088, r307089,gonzo2016-10-181-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r307091, r307092, r307093, r307095, r307098, r307115: r307067: Make intc driver compatible with upstream DTS - Fix compatibility strings - Properly decode upstream's two-cell interrupt specs. Our home-made dts does not have two-cell interrupts so no need to preserve backward compatibility r307068: Make Rapsberry Pi watchdog driver compatible with upstream DTS - Fix compatibility strings - Compensate the difference in base address for our custom DTS and upstream one (for backward compatibility) r307087: Make sure intc is attached before interrupt consumers If pass order is not specified devices are attached in the order they are defined in dts. Some interrupt consumers may be defined before intc. Also make sure intc interrupt-parent local_intc is attached before intc itself. r307088: Add compatible strings used in upstream dts files r307089: Make framebuffer driver compatible with upstream DT - Add compatibility string - Add simplebus as possible parent bus r307091: Add compatibility string from upstream DT r307092: Make BCM2835 GPIO driver compatible with upstream DT - Add compatibility string - Make reserverd and read-only properties optional r307093: Make BCM283x USB driver compatible with upstream DT - Make resource allocation logic depend on compatibility string to check what format of DTS node should be used - FreeBSD's or upstream r307095: Make VCHI driver compatible with upstream DT - Add compatibility string - Compensate difference in base address between our custom DTB and upstream one r307098: Make BCM28x USB driver compatible with upstream device tree This should have been committed in r307093: resource allocation depends on source of the device tree. upstream dts has extra interrupt that we can ignore r307115: Fix typo in comment Spotted by: loos
* MFC r305104:gonzo2016-09-022-51/+69
| | | | | | | Update VCHIQ driver to upstream version 4eda74f2 PR: 211525 Submitted by: Sylvain Garrigues <sylvain@sylvaingarrigues.com>
* 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