<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2-platforms.git/Silicon/Broadcom, branch CodeCleanup</title>
<subtitle>EDK II sample platform branches and tags (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/atom?h=CodeCleanup'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/'/>
<updated>2024-03-11T14:15:27+00:00</updated>
<entry>
<title>Silicon/Broadcom/BcmGenetDxe: Suppress some bogus compiler warnings</title>
<updated>2024-03-11T14:15:27+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2024-01-17T21:36:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=7911dae1e84b3e0492cb19407803c80dccdd29f5'/>
<id>urn:sha1:7911dae1e84b3e0492cb19407803c80dccdd29f5</id>
<content type='text'>
Some recent GCC revisions will throw warnings about values being used
before being initialized. But in the case where the lack of initialization
is the result of the called function returning error status the EFI_ERROR()
macro/error seems to confuse the compiler about the fact that the value
is then never used.

So, while the code appears to be fine, lets just zero the variables
anyway to make the compiler happy.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
</content>
</entry>
<entry>
<title>Silicon/Broadcom/Bcm27xx: Move linkup check into the cfg accessor</title>
<updated>2021-08-22T13:54:59+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-08-20T04:16:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=e599180a4e3f80a21437c8f7d25d26d70d67aaf7'/>
<id>urn:sha1:e599180a4e3f80a21437c8f7d25d26d70d67aaf7</id>
<content type='text'>
The existing code fails to create/finish configuring the
pcie subsystem if it fails to get a linkup. This is reasonable
on the RPi4 because it generally won't happen, and the OS
could not see the root port. Now that the OS can see the
root port, its a bit odd if it only shows up when
something is plugged into the first slot. Lets move the
link up check into the config accessor where it will be used
to restrict sending CFG TLP's out the port when nothing is
plugged in. Thus avoiding a SERROR during probe.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
Tested-by: Jared McNeill &lt;jmcneill@invisible.ca&gt;
</content>
</entry>
<entry>
<title>Silicon/Broadcom/Bcm27xx: Relax PCIe device restriction</title>
<updated>2021-08-22T13:54:49+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-08-20T04:16:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=4e9ab2f77c65ef0d2519aa79ab9067f017572645'/>
<id>urn:sha1:4e9ab2f77c65ef0d2519aa79ab9067f017572645</id>
<content type='text'>
The CM4 has an actual PCIe slot, so the device filtering
need to be a little less restrictive WRT busses with more
than 1 device given that switches can now appear in the
topology. Since it is possible to start numbering the
busses with a non-zero value, the bus restriction should
be based on the secondary side of the root port. This
isn't likely but its better than hard-coding the limit.

Suggested-by: René Treffer &lt;treffer+groups.io@measite.de&gt;
Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
Tested-by: Jared McNeill &lt;jmcneill@invisible.ca&gt;
</content>
</entry>
<entry>
<title>Silicon/Broadcom/BcmGenetDxe: Delay for linkup in transmit</title>
<updated>2021-08-16T07:21:14+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-05-11T22:37:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=0ad7f6b9996da2e602488053b498096ad0077f6c'/>
<id>urn:sha1:0ad7f6b9996da2e602488053b498096ad0077f6c</id>
<content type='text'>
Under normal circumstances GenetSimpleNetworkTransmit won't be
called unless the rest of the network stack detects the link is
up. So, during normal operation when the adapter is initialized
the link naturally transitions to link up, and then is ready for
activity later in the boot sequence. If that hasn't happened by
the time PXE runs then it will itself wait for the link.

OTOH, the normal distro PXE sequence involves PXE loading shim
which in turn loads grub, which tries to read machine specific
configs, modules, and grub.cfg in order to prepare the boot menu.
Then, once a grub selection is picked, it might try to load the
kernel+initrd.

In this sequence the network stack is shutdown and restarted
multiple times. Grub though, starts up, notices its been network
booted, reads saved network parameters and immediately tries to
transmit data assuming the link is still up.

When that happens grub will print "couldn't send network packet"
and if that lasts long enough it fails to load grub.cfg and the
user gets dropped to the grub prompt because no one in the path
bothers to assure the link state has transitioned back up.

For reference: https://github.com/pftf/RPi4/issues/113

This patch fixes that by polling the link state via
GenericPhyUpdateConfig() for ten seconds in the transmit path
when the link is down. If the link recovers within this timeout
the state machine is transitioned and we continue data
transmission. If the 10 seconds expires without the link
resuming we will fail as before. While full link negotiation
can be fast, it frequently can take a second or two, or longer
depending on the remote peer on the other end of the
Ethernet cable. It seems auto MDX can slow this down,
and certain vendors products seem to be slower than the
norm. Ten seconds may not cover some of these possibilities,
but the user should validate cabling and the switch/peer's
port configuration if resuming the link is taking &gt; 10
seconds. Picking a longer timeout is a tradeoff between the
machine appearing to hang for extended periods of time
(due to grub retries) if the link is actually down vs
generally providing enough time for most endpoints to
complete the negotiation.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Jared McNeill &lt;jmcneill@invisible.ca&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
</content>
</entry>
<entry>
<title>Silicon/Broadcom/Bcm283x: Clean up GpioPinSet function</title>
<updated>2021-06-12T20:03:39+00:00</updated>
<author>
<name>Sunny Wang</name>
<email>Sunny.Wang@arm.com</email>
</author>
<published>2021-06-07T07:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=eb195ee197b8f56afebb7b33126ab0638f8c4451'/>
<id>urn:sha1:eb195ee197b8f56afebb7b33126ab0638f8c4451</id>
<content type='text'>
Make the changes below for making it clearer.
    - Rename GpioPinSet() to GpioPinConfigure()
    - Rename parameter Val to Config and change its type to BOOLEAN

Signed-off-by: Sunny Wang &lt;sunny.wang@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
Tested-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/Raspberrypi: Update DMA constants based on SOC revision</title>
<updated>2021-05-12T12:21:02+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-05-11T22:41:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=bad0b9134b0e4a4e60d083c3d697d5ad99c2a7e9'/>
<id>urn:sha1:bad0b9134b0e4a4e60d083c3d697d5ad99c2a7e9</id>
<content type='text'>
The newer BCM2711 SoC's don't have a DMA constraint on the emmc2
controller. So we don't need to do the 1G translation. Lets
allow the AML to detect the SoC revision and return a different
_DMA resource.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi: Split MMC register definitions</title>
<updated>2021-01-08T09:42:36+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2021-01-08T06:14:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=d2e58540ad3755d94ddc91d80cbb4b607b656c46'/>
<id>urn:sha1:d2e58540ad3755d94ddc91d80cbb4b607b656c46</id>
<content type='text'>
The current MMC (really SDHCI) definitions are tied to the
Arasan controller. As we intend to reuse the definitions lets
make the base address configurable when the driver loads.

This assumes we won't ever want to run both the eMMC2
and Arasan SDHCI controller at the same time.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Andrei Warkentin &lt;awarkentin@vmware.com&gt;
Reviewed-by: Philippe Mathieu-Daude &lt;philmd@redhat.com&gt;
</content>
</entry>
<entry>
<title>Platform/RaspberryPi4: Add a basic thermal zone</title>
<updated>2020-09-01T11:48:18+00:00</updated>
<author>
<name>Jeremy Linton</name>
<email>jeremy.linton@arm.com</email>
</author>
<published>2020-08-31T17:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=d7d712711d19e7147d97cd6640aeabf31fb3beb7'/>
<id>urn:sha1:d7d712711d19e7147d97cd6640aeabf31fb3beb7</id>
<content type='text'>
Rather than exporting the temp sensor or mailbox
in ACPI land we can wrap them in AML and use the default
ACPI drivers provided by the OS. This enables the use of
"sensors" in linux to report the SOC temp.

As a first pass add a basic passive cooling ACPI thermalzone
with trip points for passive cooling (throttling) handled
by the vc firmware, hibernate and critical shutdown. The
vc apparently kicks in at ~80C, so the hibernate and critical
set points are set at +5 and +10 of that. In the future
CPPC should be able to monitor the thermal throttling.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Platforms/RaspberryPi: Fix BcmGenetDxe ComponentName2 error checking</title>
<updated>2020-08-17T13:52:32+00:00</updated>
<author>
<name>Samer El-Haj-Mahmoud</name>
<email>Samer.El-Haj-Mahmoud@arm.com</email>
</author>
<published>2020-08-15T20:26:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=69009e5b91a70b6fc15cdf4bc410256052cb5752'/>
<id>urn:sha1:69009e5b91a70b6fc15cdf4bc410256052cb5752</id>
<content type='text'>
Fix input param error checking for the BcmGenetDxe ComponentName2
protocol.

This fixes https://github.com/pftf/RPi4/issues/85

Signed-off-by: Samer El-Haj-Mahmoud &lt;samer.el-haj-mahmoud@arm.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
</content>
</entry>
<entry>
<title>Silicon/BcmGenetDxe: don't consume RX buffer until it's actually copied</title>
<updated>2020-07-14T14:46:05+00:00</updated>
<author>
<name>Andrei Warkentin</name>
<email>andrey.warkentin@gmail.com</email>
</author>
<published>2020-07-12T04:28:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2-platforms.git/commit/?id=2242b990248c64d21ea830c7f30c88374b5b18a5'/>
<id>urn:sha1:2242b990248c64d21ea830c7f30c88374b5b18a5</id>
<content type='text'>
This was originally a bit sloppy, and could hypothetically under heavy
load result in a buffer being overwritten by hardware before the received
buffer is copied.

Signed-off-by: Andrei Warkentin &lt;andrey.warkentin@gmail.com&gt;
Reviewed-by: Pete Batard &lt;pete@akeo.ie&gt;
Reviewed-by: Leif Lindholm &lt;leif@nuviainc.com&gt;
</content>
</entry>
</feed>
