wave5: Fix some bugs before v12
- Sep 14, 2023
-
-
Nas Chung authored
Prevent modifying the resolution after the sequence information have been found. But, we can allow modifying the format to support NV12, NV21, etc. Signed-off-by:
Nas Chung <nas.chung@chipsnmedia.com>
-
- Sep 13, 2023
-
-
Nas Chung authored
Firmware path and name are not matched with the upstreamed firmware in linux-firmware repository. Signed-off-by:
Nas Chung <nas.chung@chipsnmedia.com>
-
- Sep 12, 2023
-
-
Sebastian Fricke authored
Fixup for the devicetree bindings See merge request !66
-
-
- Sep 09, 2023
-
-
Sebastian Fricke authored
Disable CREATE_BUFS on capture queue See merge request !68
-
Sebastian Fricke authored
encoder : Add to generate access unit delimiters See merge request !67
-
- Sep 08, 2023
-
-
Nicolas Dufresne authored
This is currently not supported. When used by userspace, buffers are being allocated, queued, but completely ignored by the driver.
-
- Sep 07, 2023
-
-
Nicolas Dufresne authored
It never obvious to know which code is for REQBUFS and what is for CREATE_BUFS, so add comments to clarify. Also isolate the OUTPUT queue case.
-
Lee Jackson authored
-
- Sep 02, 2023
-
-
Sebastian Fricke authored
media: wave5: Delay EOS until the next dst buffer is queued See merge request !61
-
Sebastian Fricke authored
Remove unused configuration code See merge request !62
-
Sebastian Fricke authored
The format cannot be configured anyway and it isn't tested. Remove it.
-
Sebastian Fricke authored
Also generalize bitstream option setting.
-
Sebastian Fricke authored
The feature is not tested in anyway, so it is not possible to ensure that it is correct remove it for now.
-
Sebastian Fricke authored
In theory the bitstream mode should be configurable, but in fact the whole driver is hard coded to work with the interrupt mode. Remove the configurability and add comments asking for further explanation for hard-coded values.
-
Sebastian Fricke authored
More removal of unused code and cleanup See merge request !63
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
- Sep 01, 2023
-
-
Nicolas Dufresne authored
- Drop abort function, jobs have finit duration - Remove used but set eos - Use helper to signal last buffer - No need to delay last buffer in finish_encode (guarantied to have a dst buffer)
-
Nicolas Dufresne authored
It is not recommended to be run on RT thrad as this can take a while. Though it was detected since there is a warning if IRQ are disabled, and they are now that we protect the state with a spinlock while doing resolution changed.
-
Nicolas Dufresne authored
This way the EOS is always signaled using a buffer flagged LAST. In order to ensure thread safety of this process, a spinlock was added to protect the state from being changed in aomtic context anddecodercontext concurrently.
-
- Aug 31, 2023
-
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
The original driver supported a wide range of devices, which in turn support a wide range of codecs. In reality we only ever tested WAVE521C on the TI IPs, so remove everything that is untested to simplify the code.
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Nicolas Dufresne authored
As we don't remove decoded buffers, we need to ensure the rdy list have the minimum buffer cound the firmware needs. This guaranty that each PIC_RUN call have sufficient buffers. This retores BUMPING_A_ericsson_1 test.
-
- Aug 28, 2023
-
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
The driver currently only supports WAVE521C chips found on TI devices thus the range of possible configuration shrinks.
-
- Aug 25, 2023
-
-
Nicolas Dufresne authored
Fix v4l2-compliance issues See merge request !60
-
Fixes a test within V4L2-compliance.
-
Sebastian Fricke authored
The current incorrect configuration wasn't noticed because GStreamer just ignores the dynamic resolution flag on the CAPTURE queue. Fix the configuration to satisfy the requirements highlighted by the v4l2-compliance test.
-
- Aug 11, 2023
-
-
Nicolas Dufresne authored
Fix decoder warning due to untracked pending buffer (and more) See merge request !58
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
Because of how the hardware works, we don't really know if there is anything to drain or not. In the case there was no more bitstream and nothing else to drain, we'd hang there. Instead, trigger device_run so that we have a draining dry DEC_PIC run.
-
Nicolas Dufresne authored
We had few cases where the state update would race with the finish_decode call. Notably this could lead to a concurrent device_run being started for the case we are resuming from a resolution change.
-
Nicolas Dufresne authored
If the sequence init failed, avoid using the initial info. This ensure that our cropping rectangle is simply bound to our src width/height, allowing the application to stop waiting for a sequence.
-
Nicolas Dufresne authored
Relying on the is_draining variable is bogus for actual drain. We restore value when doing streamon, but a check in between may fail. Use the eos state instead, which do persist until we sent EOS event.
-
- Aug 10, 2023
-
-
Sebastian Fricke authored
Refactor Encoder See merge request !55
-
Nicolas Dufresne authored
In the unlikely event we cannot register the frame buffer, go to STOP state to avoid spinning the driver.
-
Nicolas Dufresne authored
Prevent modifying the format after the sequence information have been found. Otherwise one can allocate buffer of a different resolution then what the sequence information needs. While this is being validated, this avoids failing the register framebuffer operation.
-
Nicolas Dufresne authored
When buffer were decoded, we use to remove them immediatly. What this actually made change, in early stop or when buffers are never displayed, we would have needed to track these. Instead, just leave them in the ready queued until displayed. This is our original approach, keeping complexity low.
-
Nicolas Dufresne authored
It possible to do: QBUF(src1) CMD_STOP QBUF(src2) In which case, the src2 should not make it to the ring buffer. This will ensure src2 is not accidently taken.
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
Only use gotos for error. With a single goto, the code marginally easier to read. Signed-off-by:
Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Sebastian Fricke authored
Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Sebastian Fricke authored
Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
- Aug 09, 2023
-
-
Nicolas Dufresne authored
wave5: Allow the bitstream buffer size from host. See merge request !57
-
In V4L2 spec, Host can set the bitstream buffer size. Allow the larger size between default size and input size. Signed-off-by:
Nas Chung <nas.chung@chipsnmedia.com>
-
- Jul 27, 2023
-
-
Nicolas Dufresne authored
Cleanup code for flush/close command. See merge request !54
-
Nas Chung authored
Handle the still_running case in the dec/enc_close function. Do not need to retry dec/enc_close function in release_device(). Signed-off-by:
Nas Chung <nas.chung@chipsnmedia.com>
-
- Jul 26, 2023
-
-
Nicolas Dufresne authored
media: wave5: Restore encoder functionnality See merge request !52
-
- Jul 25, 2023
-
-
Nas Chung authored
Because, send_firmware_command() returns fail, wave5_vpu_hw_flush_instance() is finished before checking the fail reason. Check fail reason in send_firmware_command() and Returns -EBUSY value when the fail reason is WAVE5_SYSERR_VPU_STILL_RUNNING. Signed-off-by:
Nas Chung <nas.chung@chipsnmedia.com>
-
- Jul 21, 2023
-
-
Nicolas Dufresne authored
The encoder no longer worked. This patch intentially include multiple changes as the goal is only get reach back original state, and will be refactored and squashed.
-
Nicolas Dufresne authored
FLUSH INSTANCE firmware command for seeking See merge request !47
-
Similar to the approach used for FLUSH_INSTANCE, but the using function wave5_vpu_release_device needs to be revised. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Without information about where the invalid switch happend the print is close to useless, use the warning print to get the related stack along with the warning message. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Align it to the set_rd_ptr function naming style. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
-
According to Nas, a sequence is only to be initialized on a fresh instance, that has not been used for decoding yet. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Nicolas Dufresne authored
Fix a memory leak See merge request !49
-
Nicolas Dufresne authored
media: wave5: Trace firmware revision in probe See merge request !51
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
-
Sebastian Fricke authored
To break out of a loop early, the caller needs to know when an attempt was made to free the first empty element. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Sebastian Fricke authored
The check is performed within the free DMA memory function. Signed-off-by:
Sebastian Fricke <sebastian.fricke@collabora.com>
-
Sebastian Fricke authored
-