<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/dpaa, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-02-25T22:03:30Z</updated>
<entry>
<title>[PowerPC] [Book-E] Remove obsolete interrupt binding workaround</title>
<updated>2020-02-25T22:03:30Z</updated>
<author>
<name>Brandon Bergren</name>
<email>bdragon@FreeBSD.org</email>
</author>
<published>2020-02-25T22:03:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f55185bcd811d3d3be2dce13b15453ef669ff85f'/>
<id>urn:sha1:f55185bcd811d3d3be2dce13b15453ef669ff85f</id>
<content type='text'>
Remove an old workaround that is no longer necessary since rS343824.

There used to be a problem with FMan interrupts firing on multiple CPUS
at the same time.

This ended up being due to multicast interrupts being unsupported in the
Freescale PIC (so instead of using a selection algorithm, it would do some
unspecified action, such as interrupting multiple cpus at random.)

Reviewed by:	jhibbits
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D23829
</content>
</entry>
<entry>
<title>[PowerPC] [Book-E] Fix dpaa interrupt binding.</title>
<updated>2020-02-25T03:35:52Z</updated>
<author>
<name>Brandon Bergren</name>
<email>bdragon@FreeBSD.org</email>
</author>
<published>2020-02-25T03:35:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b9931c0786d717ff5665ec22cce026375c2d759e'/>
<id>urn:sha1:b9931c0786d717ff5665ec22cce026375c2d759e</id>
<content type='text'>
After the network epoch was added, we lost the ability to migrate the
ithread in the middle of dispatch, as being in the network epoch will pin
the current thread (for safety reasons.)

Luckily, we don't actually have to do this workaround in the first place,
as we can just bind it to the correct cpu when we preallocate it.

Pass dev through to XX_PreallocAndBindIntr() and actually bind it to the
cpu like it was supposed to in the first place, instad of leaving it
floating and moving it to the correct cpu the first time it fires.

This fixes panics while bringing up dtsec on my X5000.

Reviewed by:	jhibbits
Sponsored by:	Tag1 Consulting, Inc.
Differential Revision:	https://reviews.freebsd.org/D23826
</content>
</entry>
<entry>
<title>Although most of the NIC drivers are epoch ready, due to peer pressure</title>
<updated>2020-02-24T21:07:30Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2020-02-24T21:07:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=e87c4940156c9a218cab4fd35f4d487dc57e7aa3'/>
<id>urn:sha1:e87c4940156c9a218cab4fd35f4d487dc57e7aa3</id>
<content type='text'>
switch over to opt-in instead of opt-out for epoch.

Instead of IFF_NEEDSEPOCH, provide IFF_KNOWSEPOCH. If driver marks
itself with IFF_KNOWSEPOCH, then ether_input() would not enter epoch
when processing its packets.

Now this will create recursive entrance in epoch in &gt;90% network
drivers, but will guarantee safeness of the transition.

Mark several tested drivers as IFF_KNOWSEPOCH.

Reviewed by:		hselasky, jeff, bz, gallatin
Differential Revision:	https://reviews.freebsd.org/D23674
</content>
</entry>
<entry>
<title>Introduce flag IFF_NEEDSEPOCH that marks Ethernet interfaces that</title>
<updated>2020-01-23T01:41:09Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2020-01-23T01:41:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=0921628ddce1c29441ddb694e04e9c1e9fe356c8'/>
<id>urn:sha1:0921628ddce1c29441ddb694e04e9c1e9fe356c8</id>
<content type='text'>
supposedly may call into ether_input() without network epoch.

They all need to be reviewed before 13.0-RELEASE.  Some may need
be fixed.  The flag is not planned to be used in the kernel for
a long time.
</content>
</entry>
<entry>
<title>schedlock 4/4</title>
<updated>2019-12-15T21:26:50Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2019-12-15T21:26:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=686bcb5c14aba6e67524be84e125bfdd3514db9e'/>
<id>urn:sha1:686bcb5c14aba6e67524be84e125bfdd3514db9e</id>
<content type='text'>
Don't hold the scheduler lock while doing context switches.  Instead we
unlock after selecting the new thread and switch within a spinlock
section leaving interrupts and preemption disabled to prevent local
concurrency.  This means that mi_switch() is entered with the thread
locked but returns without.  This dramatically simplifies scheduler
locking because we will not hold the schedlock while spinning on
blocked lock in switch.

This change has not been made to 4BSD but in principle it would be
more straightforward.

Discussed with:	markj
Reviewed by:	kib
Tested by:	pho
Differential Revision: https://reviews.freebsd.org/D22778
</content>
</entry>
<entry>
<title>dpaa: Fix warnings in dtsec(4) found by clang</title>
<updated>2019-08-21T02:26:22Z</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2019-08-21T02:26:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=aef13f050c60b45a6bec78af3954e3be06aebf19'/>
<id>urn:sha1:aef13f050c60b45a6bec78af3954e3be06aebf19</id>
<content type='text'>
These are all trivial warnings that have no real functional change.
</content>
</entry>
<entry>
<title>dpaa: Mark BMan and QMan as earlier driver modules</title>
<updated>2018-10-23T01:56:52Z</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2018-10-23T01:56:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3c22d7899730a4a7434bb17bd2d1ac6f162ec74e'/>
<id>urn:sha1:3c22d7899730a4a7434bb17bd2d1ac6f162ec74e</id>
<content type='text'>
The BMan softc must exist when dtsec devices are created, else a NULL
pointer is dereferenced.  QMan likely as well.  Until now, we have relied on
order within the fdt parsing to attach correctly, but this obviously is not
foolproof.  Mark these as BUS_PASS_SUPPORTDEV so they're probed and attached
explicitly before dtsec devices.
</content>
</entry>
<entry>
<title>Align OF_getencprop_alloc API with OF_getencprop and OF_getprop_alloc</title>
<updated>2018-04-09T22:06:16Z</updated>
<author>
<name>Oleksandr Tymoshenko</name>
<email>gonzo@FreeBSD.org</email>
</author>
<published>2018-04-09T22:06:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=f7604b1b275455fc5506c3c83a4876f567bbc6b3'/>
<id>urn:sha1:f7604b1b275455fc5506c3c83a4876f567bbc6b3</id>
<content type='text'>
Change OF_getencprop_alloc semantics to be combination of malloc and
OF_getencprop and return size of the property, not number of elements
allocated.

For the use cases where number of elements is preferred introduce
OF_getencprop_alloc_multi helper function that copies semantics
of OF_getencprop_alloc prior to this change.

This is to make OF_getencprop_alloc and OF_getencprop_alloc_multi
function signatures consistent with OF_getencprop_alloc and
OF_getencprop_alloc_multi.

Functionality-wise this patch is mostly rename of OF_getencprop_alloc
to OF_getencprop_alloc_multi except two calls in ofw_bus_setup_iinfo
where 1 was used as a block size.
</content>
</entry>
<entry>
<title>Allow bman-portals and qman-portals to attach to simple-bus</title>
<updated>2017-12-14T04:41:07Z</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2017-12-14T04:41:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=b7bdc6a94f53815b2e44ec59386ebdd3c94f04a3'/>
<id>urn:sha1:b7bdc6a94f53815b2e44ec59386ebdd3c94f04a3</id>
<content type='text'>
Official Linux dts's put the individual portals under a simple-bus, rather
than under a '*-portals' grouping.  This adds a hack to permit that, which
gets us closer to using stock device trees for DPAA-based devices.
</content>
</entry>
<entry>
<title>Eliminate 1 XX_VirtToPhys() and 2 XX_PhysToVirt() calls from if_dtsec(4)</title>
<updated>2017-11-20T04:32:01Z</updated>
<author>
<name>Justin Hibbits</name>
<email>jhibbits@FreeBSD.org</email>
</author>
<published>2017-11-20T04:32:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=727ca2fdfd341222314f96e7075d153f6009ee9e'/>
<id>urn:sha1:727ca2fdfd341222314f96e7075d153f6009ee9e</id>
<content type='text'>
XX_VirtToPhys(), by way of pmap_kextract(), is an expensive operation.
Profiling via dtrace during a series of iperf tests I found 16111 / 30432
stack frames were located in mmu_booke_kextract(), so eliminating this
expensive call should improve performance slightly.  XX_PhysToVirt() is not
as expensive, but redundant calls in this context is wasteful.
</content>
</entry>
</feed>
