23 Sep, 2019
1 commit
-
Signed-off-by: Julien Olivain
Reviewed-by: Zhou Peng
(cherry picked from commit d5ee37f96629716042bb0b8317ff8ea0000a769c)
17 Sep, 2019
1 commit
-
Problems:
- GPU hang when run Google Earth apk on 8MM EVK board
- Android DEQP/SKQP CTS have random failures
- Khronos ES20 CTS have random failuresAnalysis:
GPU got stuck in shader module when process specific data format,
this is caused by VSI GCNanoUltra Errata(HBN1286), which does not set
the specific intermediate register to 0 in hardware reset sequence after power up,
this wrong register will cause the unexpected result when process specific data type,
wrong behavior will happen and may cause out of bound access in shader programming.Fix:
GPU driver will submit the predefined command(dummy draw) with fake stream and shader,
also set scissor with (0,0,0,0) to avoid draw out, no pixel output on hardware pipeline,
this workaround can set the specific register to 0 as the effective SW remedy.Impact:
No obvious functionality and performance impact with dummy draw workaround,
it only takes several cycles in command fetch --> vertex shader --> primitive,
and then cull out of reset of GPU pipelines.This patch can fix the same GPU problem for 7ULP.
Signed-off-by: Xianzhong
(cherry picked from commit b14813c419b1f733c0945e99fc403b7a25774d24)
11 Sep, 2019
2 commits
-
if stream status is on,
reqbufs will fail,
return -EBUSY instead of -EINVALSigned-off-by: ming_qian
(cherry picked from commit 65cfc81f73639c633d9e9b7c23c9c58443fa661f) -
driver tell seek and res change by the status of output stream.
if res change is not handled properly,
the stream may hang.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
(cherry picked from commit 86163d3eab3760f9659c7a58ff4cdf1a0a58a810)
10 Sep, 2019
1 commit
-
Include more bug-fixing for Vulkan 1.1 conformance,
Add EVIS2 shader binaries for vip8000nanosi,
Upgrade NNAPI 2.0 with OVXLIB.Signed-off-by: Xianzhong
30 Aug, 2019
3 commits
-
use a spinlock to synchronize sending message to MU
Signed-off-by: ming_qian
Reviewed-by: Shijie Qin -
*ctrls[V4L2_MAX_CTRLS] is not actually used, and it is easy to cause
out-of-bound when add v4l2_ctrl. Hence remove it.Signed-off-by: Shijie Qin
-
There is no dependency between start_code_bypass and stream_input_mode,
should be set separately.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
27 Aug, 2019
1 commit
-
there is an bug in v4l2_open,
that the dev_mutex may be not unlock in some flow,
it'll cause dead lock.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
23 Aug, 2019
2 commits
-
1. CID 6371811: Dereference before null check (REVERSE_INULL)
2. CID 6371006: Unchecked return value (CHECKED_RETURN)Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
1. start timer from open device;
2. add the interval from open device to feed first data and to
send start cmd;
3. In order to reduce the time deviation of print log, use
device_attribute file to show performance info.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
20 Aug, 2019
1 commit
-
case
Some hang case is caused by the frame count in the stream buffer
is not reach the threshold,
export these infomations, can help us locate the problem quicklySigned-off-by: ming_qian
Reviewed-by: Shijie Qin
19 Aug, 2019
2 commits
-
Move LVL_WARN/LVL_EVENT/LVL_INFO one bit to the left to convenient for
adjust log level, and leave 4th position to reserved.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
dis_reorder mode
in dis_reorder mode, scode need to be inserted after every frame.
but if it's inserted after sequence header, it may cause stream hang,
or cause mosaics.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
16 Aug, 2019
1 commit
-
1. Change AVS format EOS_PADDING_TYPE to EOS_GENERIC_MPEG to align with
firmware
2. chroma size shall also be 1/2 luma size for interlaced clipsSigned-off-by: Shijie Qin
15 Aug, 2019
2 commits
-
fix 6Q GPU panic with ctrl-c during galcore load/unload
Signed-off-by: Xianzhong
-
fix 8QM GPU hang with ctrl-c during galcore load/unload
Signed-off-by: Xianzhong
05 Aug, 2019
2 commits
-
In order to compatibility with Android system, move crc and input_data dump
file directory from /home/ and /tmp/ to /data/.Signed-off-by: Shijie Qin
Reviewed-by: Zhou Peng -
Previously, only process for RV format, other formats should also
be treated in the same way.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian
02 Aug, 2019
3 commits
-
string
we can use the debug tool analyze the raw dbglog.
Signed-off-by: ming_qian
Reviewed-by: Shijie Qin -
Show the interval from input first data to receive start_done
and seq_hdr_found event.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
Include more bug-fixings for Vulkan and NN driver
Signed-off-by: Xianzhong
01 Aug, 2019
1 commit
-
add Xvid format support, and vpu treat it as MPEG4.
Signed-off-by: Shijie Qin
Reviewed-by: Zhou Peng
Reviewed-by: ming_qian
29 Jul, 2019
1 commit
-
module_param(vpu_datadump_ena, int, 0644);
MODULE_PARM_DESC(vpu_datadump_ena, "enable dump input frame data (0-1)");Signed-off-by: Shijie Qin
Reviewed-by: Zhou Peng
26 Jul, 2019
4 commits
-
module_param(vpu_show_perf_ena, int, 0644);
MODULE_PARM_DESC(vpu_show_perf_ena, "enable show vpu decode
performance(0-1)");
module_param(vpu_show_perf_idx, int, 0644);
MODULE_PARM_DESC(vpu_show_perf_idx, "show performance of which
instance(bit N to mask instance N)");
module_param(vpu_show_perf_ent, int, 0644);
MODULE_PARM_DESC(vpu_show_perf_ent, "show performance of which
event(1: decoded, 2: ready)");Signed-off-by: Shijie Qin
Reviewed-by: Zhou Peng -
For VP6 format, the first input data shall including frame data,
hence should not drop it.Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
+MPEG4/MPEG2, the first input data also not including frame data
Signed-off-by: Shijie Qin
-
1.firmware decide whether it support rv and divx.
if firmware don't support, driver will disable these formats.2. update copyright description
Signed-off-by: ming_qian
Reviewed-by: Zhou Peng
25 Jul, 2019
1 commit
-
the amount of REL_FRAME_BUFF event may be much bigger the BUFF_RDY
event.
it means that some frame buffer are not used for decoding,
and firmware just release it directly.The frame who is need to skip is decoded but not ready.
Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
23 Jul, 2019
3 commits
-
Fixing unused compiler warning for
decode: vpu_suspend() and vpu_resume()
encode: vpu_enc_suspend() and vpu_enc_resume()Signed-off-by: Shijie Qin
Reviewed-by: ming_qian -
Fixing unused compiler warning for xxx_suspend()/xxx_resume(), include
850Dg1g2(hantrodec.c)/845g1g2(hantrodec_845s.c)/845h1(hx280enc.c)Signed-off-by: Zhou Peng
-
Fixing unused compiler warning for vpu_suspend() and vpu_resume()
Signed-off-by: Zhou Peng
22 Jul, 2019
1 commit
-
In v6.2.4, userspace register access was controlled by defining
gcdREGISTER_ACCESS_FROM_USER, enabled by default.This changed in v6.4.0 where gcdREGISTER_ACCESS_FROM_USER is replaced by
gcdREGISTER_READ_FROM_USER and gcdREGISTER_WRITE_FROM_USER,
both disabled by default.For the moment, gputop uses userspace register access ioctl to
read the GPU performance counters.Signed-off-by: Adrian Negreanu
19 Jul, 2019
1 commit
-
With commit cd7b7f509cd0 ("media: cec: check for non-OK/NACK
conditions while claiming a LA")When set the LA, the cec stack try to transmit the message "0x55"
(5 is LA) before configure the LA, and check the return value
But our cec driver alway return ERROR, which cause the setting of
LA failure, so change the return value to be NACK.Signed-off-by: Shengjiu Wang
18 Jul, 2019
4 commits
-
Firmware use the gap between input frames and parsed frames compare with
parse_threshold, if input data not including frame data shall not add
frm_total_num.
verify input and parsed frames count when finishedSigned-off-by: Shijie Qin
Reviewed-by: Zhou Peng
Reviewed-by: ming_qian -
current solution only enable GPU frequency scaling on GPU0,
does not change GPU1, cause problem for device-cooling.fix platform driver to enable dual-GPU frequency scaling.
Signed-off-by: Xianzhong
-
cat /sys/bus/platform/drivers/galcore/gpu3DClockScale
echo 16 > /sys/bus/platform/drivers/galcore/gpu3DClockScale
Signed-off-by: Xianzhong
-
currently GPU core clock frequency scaling is enabled,
the scaled clock cannot change GPU shader frequency.enable shader frequency scaling with below setting:
fscaleSh_clkSh = clkSh[7 :1 ];
fscaleShLoad_clkSh = clkSh [0 ];
enableAutoSh_clkSh = clkSh[16 ];
disableAuto_clkSh = clkSh[17 ];trick: write 0x10C to set new frequency scaling,
reset 0x10C to lock-up it before next change.Signed-off-by: Xianzhong
16 Jul, 2019
1 commit
-
firmware may release frame buffer after
it has been queuen again.
so when qbuf, there may be no frames.
after release the frame, we can alloc it to frame again.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin
12 Jul, 2019
1 commit
-
if cmd is timeout, driver will set hang_status,
if driver doesn't clear the pending cmd who is timeout,
driver will prevent the next cmd to execute.Signed-off-by: ming_qian
Reviewed-by: Shijie Qin