<div dir="ltr">Hi all,<br><br>Accomplishments:<br>- Resovled the problem found last week about size of struct drm_version on<br>m32 and mx32. Turned out that problem came from bundling the kernel headers<br>into strace. It seems I should not use __kernel_size_t which is used widely<br>in kernel/libdrm headers but size_t instead. Otherwise the generated struct<br>will somehow be filled with paddings in mx32 which is not the expected.<br>- Searched for information about timeout_nsec field in some struct *_wait.<br>And them seem to be *MONOTONIC*. See below:<br><br>In linux/drivers/gpu/drm/drm_syncobj.c<br>function:<br><br>drm_syncobj_wait_ioctl()<br>drm_syncobj_timeline_wait_ioctl()<br><br>both pass timeout_nsec field to<br><br>drm_syncobj_array_wait() then drm_timeout_abs_to_jiffies().<br><br>What confused me is that the comment says:<br>"drm_timeout_abs_to_jiffies - calculate jiffies timeout from absolute value".<br>But it uses ktime_get() and I found [1] stating that it's CLOCK_MONOTONIC.<br>So it's not really an absolute time right? Any opions? In case anyone wants<br>to take a look at the related commits. I found the link below [2] and [3].<br><br>[1] <a href="https://www.kernel.org/doc/html/latest/core-api/timekeeping.html#c.ktime_get">https://www.kernel.org/doc/html/latest/core-api/timekeeping.html#c.ktime_get</a><br>[2] <a href="https://lists.freedesktop.org/archives/amd-gfx/2017-July/010840.html">https://lists.freedesktop.org/archives/amd-gfx/2017-July/010840.html</a><br>[3] <a href="https://patchwork.kernel.org/patch/9847055/">https://patchwork.kernel.org/patch/9847055/</a><br><br>- Finished decoding. Actually I'm going to send it out later. I'm polishing<br>the commit message. And there is one thing I haven't figure out. How do we<br>decide which fields to abbreviate and which to unabbrev? I found a lot of<br>examples in the code but couldn't see what the abbreviated parts are in<br>common. Is it related to number of fields or some particular informational<br>fields like *_count or *_ptr or val_* etc?<br><br>Priorities:<br>- There are a lot of changes in the decoders since last version of patch<br>and the previous patch of tests for them were broken. I fixed part of the<br>tests and manage to basically test the decoders. But due to the<br>complication, some of the tests are now still ugly workarounds and too <br>early to be merged into master. For example, a lot print_array and some<br>PRINT_FIELDS_* should be ported to the tests gracefully.<br>- I marked out some ioctl cmds as drm_noop for example DRM_IOCTL_GET_STATS<br>for now. I should check them all one by one to see if they are worth<br>decoding according to info from @esyr, that is, Linux 2.6.18+ should be<br>supported. BTW, since the official end of GSoC is coming, this might be<br>done outside of GSoC and I'm sorry for the slow progress.<br>- Abbreviating some ouput of decoders still needs discussion.<br><br>Thanks,<br>Zhibin Li<br></div>