Matthew Poremba has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/46163 )
Change subject: dev-amdgpu: Handle framebuffer counter accesses
......................................................................
dev-amdgpu: Handle framebuffer counter accesses
There are special counters in the framebuffer that are tested during
driver initialization. The expected behavior of the counters is to
return the previously read value + 1. There is one (known) counter used
in driver initialization at a fixed BAR address offset.
Change-Id: Id2dbb5fa9365b0a0453b15013c45aa67a2eec190
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46163
Tested-by: kokoro <noreply+kok...@google.com>
Reviewed-by: Jason Lowe-Power <power...@gmail.com>
Reviewed-by: Matt Sinclair <mattdsincl...@gmail.com>
Maintainer: Matt Sinclair <mattdsincl...@gmail.com>
---
M src/dev/amdgpu/amdgpu_device.cc
1 file changed, 13 insertions(+), 0 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved
Matt Sinclair: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/dev/amdgpu/amdgpu_device.cc
b/src/dev/amdgpu/amdgpu_device.cc
index 08e6987..23d22bb 100644
--- a/src/dev/amdgpu/amdgpu_device.cc
+++ b/src/dev/amdgpu/amdgpu_device.cc
@@ -148,7 +148,20 @@
AMDGPUDevice::readFrame(PacketPtr pkt, Addr offset)
{
DPRINTF(AMDGPUDevice, "Read framebuffer address %#lx\n", offset);
+
mmioReader.readFromTrace(pkt, FRAMEBUFFER_BAR, offset);
+
+ /* Handle special counter addresses in framebuffer. */
+ if (offset == 0xa28000) {
+ /* Counter addresses expect the read to return previous value + 1.
*/
+ if (regs.find(pkt->getAddr()) == regs.end()) {
+ regs[pkt->getAddr()] = 1;
+ } else {
+ regs[pkt->getAddr()]++;
+ }
+
+ pkt->setUintX(regs[pkt->getAddr()], ByteOrder::little);
+ }
}
void
4 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the
submitted one.
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/46163
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id2dbb5fa9365b0a0453b15013c45aa67a2eec190
Gerrit-Change-Number: 46163
Gerrit-PatchSet: 6
Gerrit-Owner: Matthew Poremba <matthew.pore...@amd.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Matt Sinclair <mattdsincl...@gmail.com>
Gerrit-Reviewer: Matthew Poremba <matthew.pore...@amd.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s