[coreboot-gerrit] Change in coreboot[master]: amd/pi/00670F00: Add AMD PSP support for Stoney Ridge
Marshall Dawson (Code Review)
gerrit at coreboot.org
Tue May 2 03:12:03 CEST 2017
Marshall Dawson has posted comments on this change. ( https://review.coreboot.org/19157 )
Change subject: amd/pi/00670F00: Add AMD PSP support for Stoney Ridge
......................................................................
Patch Set 14:
(9 comments)
https://review.coreboot.org/#/c/19157/14/src/northbridge/amd/pi/00670F00/psp.c
File src/northbridge/amd/pi/00670F00/psp.c:
Line 90: static void wr_mbox_cmd_resp(struct psp_mbox *mbox, void *buffer)
> Buffer is not flushed to DRAM prior to sending PSP a command to potentially
That's not mentioned in the spec. I assume it's snooped like any other transaction. I think that would be a pretty bad design if not.
Line 102: long usec_wait = 10000000; /* arbitrary 10 seconds */
> coverage may want 'long int'
coverity? I infer it's OK. I don't see any other variables done that way, and intptr_t is typedef of long.
Line 123: return PSPSTS_INIT_TIMEOUT;
> At the callsite, only not-equal-to zero is tested for, and we never explici
Yes. Thanks.
Line 140: if (rd_mbox_sts(mbox) & STATUS_HALT) {
> IMHO we should not use enum with bitwise boolean ops. Don't know if coverag
> Don't know if coverage will be happy about this.
I don't know. I can identify other examples, e.g. in vboot. Can you point me to more info on this?
Line 150: if (wait_initialized(mbox)) {
> Code should not break if we simply change order of enums, we make assumptio
There are lots of examples of doing it like this, but I think it's a very reasonable change.
Line 192: buffer.header.status = 0; /* PSP does not report status for this cmd */
> I can see patchset CarrizoPI uses this status field as return value from Ps
It seems like send_psp_command and printk below are keeping this from getting optimized out. Then rd_resp_sts is treating it as volatile. I think it's OK here.
Line 196: status_to_string(cmd_status));
> If we really get no status, no need to print it either?
I kind of like seeing that the status=0. There's no string associated with that which will show up in the console (just a trailing space).
https://review.coreboot.org/#/c/19157/14/src/northbridge/amd/pi/00670F00/psp.h
File src/northbridge/amd/pi/00670F00/psp.h:
Line 51: };
> Should we have __attribute__ ((packed)) here as well?
yes
Line 87: #define PSP_DEV dev_find_slot(0, PCI_DEVFN(PSP_PCI_DEV, PSP_PCI_DEV))
> PCI_DEVFN(PSP_PCI_DEV, PSP_PCI_FN)
right - copy/paste fail
--
To view, visit https://review.coreboot.org/19157
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Icf111470b261d6516b878e88be471967abe681b3
Gerrit-PatchSet: 14
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Marc Jones <marc at marcjonesconsulting.com>
Gerrit-Reviewer: Aaron Durbin <adurbin at chromium.org>
Gerrit-Reviewer: Kyösti Mälkki <kyosti.malkki at gmail.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd at gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth at google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: build bot (Jenkins)
Gerrit-HasComments: Yes
More information about the coreboot-gerrit
mailing list