the following patch was just integrated into master:
commit 83b776137399bcfa9427e7a60d5f1620ee2d1985
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Thu Jun 18 11:48:02 2015 -0500
southbridge/amd/sb700: Add option to disable SATA ALPM
The AMD Register Programming Reference states that the user should
have the option to disable Active Link Power Management for two
reasons. First, some drives may not function correctly with the
ALPM implementation of the SP5100, and second there are some
situations where low latency access is more important than the
power savings created by using ALPM.
Allow the user to disable ALPM if desired.
Change-Id: I88055cbb4df4d7ba811cef7056c0a6ca2612fcb0
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/11993
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/11993 for details.
-gerrit
the following patch was just integrated into master:
commit f902722357d5b8a34585c38e9e5c870330f8ccbc
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Fri Jun 12 13:32:52 2015 -0500
mainboard/asus/kgpe-d16: Add missing IRQ routing for PIKE card
Change-Id: I6eba36dad71a2a2713181382484dc0e0976e1dad
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/11988
Tested-by: build bot (Jenkins)
Tested-by: Raptor Engineering Automated Test Stand <noreply(a)raptorengineeringinc.com>
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/11988 for details.
-gerrit
the following patch was just integrated into master:
commit f70946ff4d70d763ce75bf3876bc94dc708275b1
Author: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Date: Wed Jun 10 10:46:17 2015 -0500
northbridge/amd/amdmct: Verify MCT NVRAM options before skipping training
Change-Id: If26e5d148a906d63bd1407b8ffa58f08ae6b4275
Signed-off-by: Timothy Pearson <tpearson(a)raptorengineeringinc.com>
Reviewed-on: http://review.coreboot.org/11986
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer(a)coreboot.org>
See http://review.coreboot.org/11986 for details.
-gerrit
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12416
-gerrit
commit a75172c094552e3f7fcaa4aabc463372743d28ea
Author: Patrick Georgi <pgeorgi(a)google.com>
Date: Wed Nov 11 15:35:24 2015 +0100
cbfstool: Allows mixed-state fmap regions to work
When using FMAP regions (with option -r) that were generated with a
master header (as done by cbfstool copy, eg. in Chrome OS' build
system), there were differences in interpretation of the master header's
fields.
Normalize for that by not sanity-checking the master header's size field
(there are enough other tests) and by dealing with region offsets
properly.
BUG=chromium:445938
BRANCH=tot
TEST=`cbfstool /build/veyron_minnie/firmware/image.dev.bin print -r
FW_MAIN_A` shows that region's directory (instead of claiming that
there's no CBFS at all, or showing an empty directory).
Change-Id: Ia840c823739d4ca144a7f861573d6d1b4113d799
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 0e5364d291f45e4705e83c0331e128e35ab226d3
Original-Change-Id: Ie28edbf55ec56b7c78160000290ef3c57fda0f0e
Original-Signed-off-by: Patrick Georgi <pgeorgi(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/312210
Original-Commit-Ready: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Tested-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
util/cbfstool/cbfs_image.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/util/cbfstool/cbfs_image.c b/util/cbfstool/cbfs_image.c
index f5ef680..2b25011 100644
--- a/util/cbfstool/cbfs_image.c
+++ b/util/cbfstool/cbfs_image.c
@@ -1168,12 +1168,11 @@ int cbfs_walk(struct cbfs_image *image, cbfs_entry_callback callback,
return count;
}
-static int cbfs_header_valid(struct cbfs_header *header, size_t size)
+static int cbfs_header_valid(struct cbfs_header *header)
{
if ((ntohl(header->magic) == CBFS_HEADER_MAGIC) &&
((ntohl(header->version) == CBFS_HEADER_VERSION1) ||
(ntohl(header->version) == CBFS_HEADER_VERSION2)) &&
- (ntohl(header->romsize) <= size) &&
(ntohl(header->offset) < ntohl(header->romsize)))
return 1;
return 0;
@@ -1190,7 +1189,7 @@ struct cbfs_header *cbfs_find_header(char *data, size_t size,
if (forced_offset < (size - sizeof(struct cbfs_header))) {
/* Check if the forced header is valid. */
header = (struct cbfs_header *)(data + forced_offset);
- if (cbfs_header_valid(header, size))
+ if (cbfs_header_valid(header))
return header;
return NULL;
}
@@ -1202,7 +1201,7 @@ struct cbfs_header *cbfs_find_header(char *data, size_t size,
(size_t)rel_offset, (size_t)-rel_offset, offset);
if (offset >= size - sizeof(*header) ||
- !cbfs_header_valid((struct cbfs_header *)(data + offset), size)) {
+ !cbfs_header_valid((struct cbfs_header *)(data + offset))) {
// Some use cases append non-CBFS data to the end of the ROM.
DEBUG("relative offset seems wrong, scanning whole image...\n");
offset = 0;
@@ -1210,7 +1209,7 @@ struct cbfs_header *cbfs_find_header(char *data, size_t size,
for (; offset + sizeof(*header) < size; offset++) {
header = (struct cbfs_header *)(data + offset);
- if (!cbfs_header_valid(header, size))
+ if (!cbfs_header_valid(header))
continue;
if (!found++)
result = header;
@@ -1228,9 +1227,15 @@ struct cbfs_header *cbfs_find_header(char *data, size_t size,
struct cbfs_file *cbfs_find_first_entry(struct cbfs_image *image)
{
assert(image);
- return image->has_header ? (struct cbfs_file *)(image->buffer.data +
- image->header.offset) :
- (struct cbfs_file *)image->buffer.data;
+ if (image->has_header)
+ /* header.offset is relative to start of flash, not
+ * start of region, so use it with the full image.
+ */
+ return (struct cbfs_file *)
+ (buffer_get_original_backing(&image->buffer) +
+ image->header.offset);
+ else
+ return (struct cbfs_file *)buffer_get(&image->buffer);
}
struct cbfs_file *cbfs_find_next_entry(struct cbfs_image *image,
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12414
-gerrit
commit 7279688977bd994ece9f55c4a3eb77831592f447
Author: Saurabh Satija <saurabh.satija(a)intel.com>
Date: Mon Nov 2 16:15:51 2015 -0800
intel/kunimitsu: This patch enables wakeup from S0ix using headset button.
Kernel needs to set Audio IRQ as wake capable.
BUG=chrome-os-partner:47450
BRANCH=NONE
TEST=System wakes up from S0ix by pressing headset buttons.
Change-Id: I0f89d05b4c5449e5e3277dde938d941e4ad8cbea
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 65bf434f7c7e1662211f9c8bf61eeb4f41bdc675
Original-Change-Id: I7b5b564023044b4458eb0976488018b3226f4c70
Original-Signed-off-by: Saurabh Satija <saurabh.satija(a)intel.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/311793
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
src/mainboard/intel/kunimitsu/acpi/mainboard.asl | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
index a5a90c6..73d43bc 100644
--- a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
+++ b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl
@@ -141,6 +141,7 @@ Scope (\_SB.PCI0.I2C4)
Name (_HID, "10508825")
Name (_DDN, "NAU88L25 Codec")
Name (_UID, 1)
+ Name (_S0W, 4)
Name (_DSD, Package () {
ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () {
Patrick Georgi (pgeorgi(a)google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12413
-gerrit
commit cdf7573a7fdf77afe6dd696cc6cc9c113a8f16e2
Author: Furquan Shaikh <furquan(a)google.com>
Date: Fri Nov 6 22:22:56 2015 -0800
libpayload: udc/dwc2: Ignore setup packet in check for queue empty
during shutdown
DWC2 UDC controller always requires an active packet to be present in
EP0-OUT to ensure proper operation of control plane. Thus, during
shutdown ignore EP0-OUT for queue empty check if only 1 packet is
present.
BUG=b:24676003
BRANCH=None
TEST=Compiles successfully. "fastboot reboot-bootloader" reboots
device without timeout in udc shutdown.
Change-Id: Iafe46c80f58c4cd57f8d58f060d805b603506bbd
Signed-off-by: Patrick Georgi <pgeorgi(a)chromium.org>
Original-Commit-Id: 4e7c27d849c0411aae58e60a24d8170a27ab8485
Original-Change-Id: Ifa493ce0e41964ee7ca8bb3a1f4bb8726fa11173
Original-Signed-off-by: Furquan Shaikh <furquan(a)google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/311257
Original-Commit-Ready: Furquan Shaikh <furquan(a)chromium.org>
Original-Tested-by: Furquan Shaikh <furquan(a)chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin(a)chromium.org>
---
payloads/libpayload/drivers/udc/dwc2.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/payloads/libpayload/drivers/udc/dwc2.c b/payloads/libpayload/drivers/udc/dwc2.c
index dc9eb7c..cde3a76 100644
--- a/payloads/libpayload/drivers/udc/dwc2.c
+++ b/payloads/libpayload/drivers/udc/dwc2.c
@@ -704,9 +704,21 @@ static void dwc2_shutdown(struct usbdev_ctrl *this)
is_empty = 1;
this->poll(this);
for (i = 0; i < 16; i++)
- for (j = 0; j < 2; j++)
+ for (j = 0; j < 2; j++) {
+ /*
+ * EP0-OUT needs to always have an active packet
+ * for proper operation of control packet
+ * flow. Thus, ignore if only 1 packet is
+ * present in EP0-OUT.
+ */
+ if ((i == 0) && (j == 0) &&
+ SIMPLEQ_SINGLETON(&p->eps[0][0].job_queue,
+ queue))
+ continue;
+
if (!SIMPLEQ_EMPTY(&p->eps[i][j].job_queue))
is_empty = 0;
+ }
}
if (timer_us(shutdown_timer_us) >= shutdown_timeout_us)