{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":164520004,"defaultBranch":"master","name":"qdl","ownerLogin":"linux-msm","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-01-08T00:27:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/143400478?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1557207832.0","currentOid":""},"activityList":{"items":[{"before":"a1cd5354397005cb4e467d338e3bc14cf04113f2","after":"cbd46184d33af597664e08aff2b9181ae2f87aa6","ref":"refs/heads/master","pushedAt":"2024-06-10T15:33:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"usb: Allow overriding bulk write size and increase default\n\nSince commit 760b3dffb03d (\"qdl: Rework qdl_write to limit write sizes\nto out_maxpktsize\") outgoing transfers has been chunked into blocks of\nwMaxPacketSize.\n\nAs reported by Wiktor Drewniak, Maksim Paimushkin, and Luca Weiss in [1]\nthere's huge benefits to be found in reverting this change, but out of\ncaution the limit was untouched.\n\nWith the transition to libusb, the throughput dropped another ~15% on my\nmachine. The numbers for HighSpeed and SuperSpeed are also in the same\nballpark.\n\nWith SuperSpeed, benchmarking of different chunk sizes in the megabyte\nrange shows improvement over these numbers in the range of 15-20x on the\nsame machine/board combination.\n\nThe bug report related to the reduction in size describes a host machine\nrunning out of swiotlb, from the fact that we requested 1MB physically\ncontiguous memory. It's unclear if attempts was made to correct the\nkernel's behavior. libusb does inquiry the capabilities of the kernel\nand will split the buffer and submitting multiple URBs at once, as\nneeded. While no definitive guidance has been found, multiple sources\nseems to recommend passing 1-2MB of buffer to libusb at a time. So,\nlet's move the default chunk size back up to 1MB and hope that libusb\nresolves the reported problem.\n\nAdditionally, introduce a new option --out-chunk-size, which allow the\nuser to override the chunk size. This would allow any user to reduce the\nsize if needed, but also allow the value to be increased as needed.\n\n[1] https://github.com/linux-msm/qdl/pull/39\n\nReported-by: Wiktor Drewniak\nReported-by: Maksim Paimushkin\nReported-by: Luca Weiss\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"usb: Allow overriding bulk write size and increase default"}},{"before":"a60d45c3b789566ca25b2ec70f90b657846392de","after":"a1cd5354397005cb4e467d338e3bc14cf04113f2","ref":"refs/heads/master","pushedAt":"2024-06-10T15:33:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"qdl: Add support for operations\n\nBeing able to read the content of the flash is useful for e.g. making\nbackups or for testing purposes, add support for a new type of XML\ncontaining tags and execute these operations after\nflashing and patching.\n\n[bjorn: Rebased on master, updated commit message, moved read_op_exec after patching]\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"qdl: Add support for <read> operations"}},{"before":"c647d6d9eb5047886bea01162feb7792702ede8d","after":"a60d45c3b789566ca25b2ec70f90b657846392de","ref":"refs/heads/master","pushedAt":"2024-06-07T20:19:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"usb: Correct libusb timeout handling\n\nThe documentation for libusb_bulk_transfer() specifies that in the event\nthat the read or write request is split into multiple chunks, some of\nthese may still be transferred despite a LIBUSB_ERROR_TIMEOUT is\nreturned.\n\nIn the transition to libusb this detail was missed and completed\nread transfers are sometimes considred to be timeouts and the data\ndiscarded, obviously resulting in failure to continue.\n\nConsider the \"transferred\" value in the event of timeout, to avoid this.\n\nAlthough not yet spotted in testing, the same logic is introduced for\nthe write path.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"usb: Correct libusb timeout handling"}},{"before":"1d8a3fff7dae6761d27bc90db23c33827084003e","after":"c647d6d9eb5047886bea01162feb7792702ede8d","ref":"refs/heads/master","pushedAt":"2024-06-07T20:10:57.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"firehose: Always free response xmlDoc\n\nThe xmlDoc returned by firehose_response_parse() needs to be freed\nregardless of what message it contains.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"firehose: Always free response xmlDoc"}},{"before":"8b01b6254ee47967a2ba8080092697ebb410c380","after":"1d8a3fff7dae6761d27bc90db23c33827084003e","ref":"refs/heads/master","pushedAt":"2024-06-07T19:50:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"usb: Attempt detaching kernel driver\n\nIn the event that the kernel have some other driver attached to the\ndevice the attempt claim of the interface will fail.\n\nLost in the libusb conversion was a call to USBDEVFS_DISCONNECT to first\ndetach any such drivers. Reintroduce this by invoking\nlibusb_detach_kernel_driver().\n\nAs with some other libusb functions there are multiple return values\ndenoting \"success\", so rely on libusb_claim_interface() to catch the\nactual errors.\n\nReported-by: Maxim Akristiniy\nSuggested-by: Maxim Akristiniy\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"usb: Attempt detaching kernel driver"}},{"before":"95be64392f09f9d4ab5c0258866b04aec036383a","after":"8b01b6254ee47967a2ba8080092697ebb410c380","ref":"refs/heads/master","pushedAt":"2024-06-05T20:34:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"ci/build: Build across different Ubuntu variants\n\nThe transition to libusb was tested on a few different Linux distros,\nbut apparently not Ubuntu 20.04, which contains a slightly older version\nof the libusb includes.\n\nAdd Ubuntu 20.04 as a CI target to catch more such issues, and for good\nmeasure also add 24.04.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"ci/build: Build across different Ubuntu variants"}},{"before":"aeb70e0645d6583b34b99c3025ebd2b8475d322b","after":"95be64392f09f9d4ab5c0258866b04aec036383a","ref":"refs/heads/master","pushedAt":"2024-06-05T20:34:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"usb: Allow building with older libusb\n\nlibusb commit f0cce43f882d (\"core: Fix definition and use of enum\nlibusb_transfer_type\") split the types of split transfer type and\nendpoint transfer, introducing LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK.\n\nThe result is that when building with older libusb, such the one\navailable on Ubuntu 20.04 the build fails with the following error:\n\nusb.c:84:16: error: ‘LIBUSB_ENDPOINT_TRANSFER_TYPE_BULK’ undeclared (first use in this function); did you mean ‘LIBUSB_TRANSFER_TYPE_BULK’?\n\nIntroduce an alias using the preprocessor to make available the new\ndefine when building against the older version of libusb headers.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"usb: Allow building with older libusb"}},{"before":"fac09b298055c729a58619e93f4f02d3116b01d4","after":"aeb70e0645d6583b34b99c3025ebd2b8475d322b","ref":"refs/heads/master","pushedAt":"2024-05-28T15:50:50.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"firehose: Prevent potential overflow in info print\n\nalso fixes the improper format specifier i suppose\n\nCodeQL reports:\n\nMultiplication result may overflow 'unsigned int' before it is converted to 'long'.\n\nSigned-off-by: Konrad Dybcio ","shortMessageHtmlLink":"firehose: Prevent potential overflow in info print"}},{"before":"b18bca7d285a3ade92b6ec94b5d41fa149658314","after":"fac09b298055c729a58619e93f4f02d3116b01d4","ref":"refs/heads/master","pushedAt":"2024-05-28T15:49:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"Makefile: prefer append on CFLAGS / LDFLAGS\n\nAppend allows an external build system to pass custom cflags/ldflags\nto the local build system (make).\n\nUseful with Yocto / OE as additional options can be given besides what\nis set with a force set in the Makefile.\n\nSigned-off-by: Ricardo Salveti ","shortMessageHtmlLink":"Makefile: prefer append on CFLAGS / LDFLAGS"}},{"before":"ba6b6e5b3adcf615ed85386666dfda5536983fa3","after":"b18bca7d285a3ade92b6ec94b5d41fa149658314","ref":"refs/heads/master","pushedAt":"2024-05-10T16:05:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"ci/codeql: Add required permissions\n\nSigned-off-by: Konrad Dybcio ","shortMessageHtmlLink":"ci/codeql: Add required permissions"}},{"before":"0132a8eb5a48ca7f648972d42e6b3a67005240f5","after":"ba6b6e5b3adcf615ed85386666dfda5536983fa3","ref":"refs/heads/master","pushedAt":"2024-05-10T15:58:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"github: Add CodeQL workflow\n\nAdd CodeQL workflow to get some code analysis.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"github: Add CodeQL workflow"}},{"before":"25ce7fad2281082e3e6684392b53b4674df51ec2","after":"0132a8eb5a48ca7f648972d42e6b3a67005240f5","ref":"refs/heads/master","pushedAt":"2024-05-10T15:58:01.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"program: Clean up error handling in program_load\n\nMain difference is cleaning up 'doc' in case of errors.","shortMessageHtmlLink":"program: Clean up error handling in program_load"}},{"before":"983ec51d027c800e4e1747fd8d04f31af48e593d","after":"25ce7fad2281082e3e6684392b53b4674df51ec2","ref":"refs/heads/master","pushedAt":"2024-05-10T15:57:18.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"usb: Allow selecting board by serial number\n\nWhen working on a host with multiple boards attached being able to\nselect a specific board by serial number becomes necessary.\n\nIn the EDL USB descriptors a device serial number is available as part\nof the iProduct string, so this can be used for comparison.\n\nAs libusb requires a handle the libusb_open() needs to be moved into the\nloop.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"usb: Allow selecting board by serial number"}},{"before":"5f2f82a526ca6ab8e127b53f81037d64eec999a8","after":"983ec51d027c800e4e1747fd8d04f31af48e593d","ref":"refs/heads/master","pushedAt":"2024-05-09T21:40:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"github: Introduce build workflow\n\nBuild the project across Ubuntu and macOS.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"github: Introduce build workflow"}},{"before":"a629f43428ebd17080f55543f893d45694234f75","after":"5f2f82a526ca6ab8e127b53f81037d64eec999a8","ref":"refs/heads/master","pushedAt":"2024-05-08T16:29:38.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"ramdump: Add support for filtering which segments to extract\n\nThe typical ramdump covers the entire DDR, which on modern devices can\nbe huge. But sometimes one is only interested in one or more specific\nsegments.\n\nParse the optional, comma-separated, argument to qdl-ramdump, and use\nthis to skip not requested segments.\n\nSigned-off-by: Bjorn Andersson ","shortMessageHtmlLink":"ramdump: Add support for filtering which segments to extract"}},{"before":"3b22df2bc7de02d867334af3a7aa8606db4f8cdd","after":"a629f43428ebd17080f55543f893d45694234f75","ref":"refs/heads/master","pushedAt":"2024-04-09T09:36:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"konradybcio","name":"Konrad Dybcio","path":"/konradybcio","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32096130?s=80&v=4"},"commit":{"message":"Fix gcc-14 compile errors","shortMessageHtmlLink":"Fix gcc-14 compile errors"}},{"before":"dbcb6fed633f9f4beae6274bcf7ac3ea13f63373","after":"3b22df2bc7de02d867334af3a7aa8606db4f8cdd","ref":"refs/heads/master","pushedAt":"2023-04-11T12:31:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"Fix qdl after kickstart introduction\n\nThe introduction of kickstart support made the assumption that the EDL\nwill request image #0, but this is not the case. Return to the old\nbehavior of ignoring the image number.\n\nThe change also made the assumption that the status in done can be\ntrusted, but e.g. MSM8916 returns done status of 0 upon successful\nfetch, so ignore this value as well in the \"single payload\" case.","shortMessageHtmlLink":"Fix qdl after kickstart introduction"}},{"before":"392394086d5109bf0ff09a4eaff99bbbf5c12f21","after":"dbcb6fed633f9f4beae6274bcf7ac3ea13f63373","ref":"refs/heads/master","pushedAt":"2023-03-22T15:30:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"andersson","name":"Bjorn Andersson","path":"/andersson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/912574?s=80&v=4"},"commit":{"message":"Merge pull request #38 from danielg4/master\n\nInstall ks utility","shortMessageHtmlLink":"Merge pull request #38 from danielg4/master"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYUk9TQA","startCursor":null,"endCursor":null}},"title":"Activity · linux-msm/qdl"}