Hi, The r8152 driver source code distributed by Realtek (on www.realtek.com) contains firmware patches. This involves binary byte-arrays being written byte/word-wise to the hardware memory Example: grund...@chromium.org (cc-ed) has an experimental patch which includes the firmware patching code which was distributed with the Realtek source : https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1417953
It would be nice to have a way to incorporate these firmware fixes into the upstream code. Since having indecipherable byte-arrays is not possible upstream, I propose the following: - We use the assistance of Realtek to come up with a format which the firmware patch files can follow (this can be documented in the comments). - A real simple format could look like this: + <section1><size_in_bytes><address1><data1><address2><data2>...<addressN><dataN><section2>... + The driver would be able to understand how to parse each section (e.g is each data entry a byte or a word?) - We use request_firmware() to load the firmware, parse it and write the data to the relevant registers. I'm unfamiliar with what the preferred method of firmware patching is, so I hope the maintainers can help suggest the best path forward. As an aside: It would be great if Realtek could publish a list of fixes that the firmware patches implement (I think a list on the driver download page on the Realtek website would be an excellent starting point). Thanks and Best regards, -Prashant