The old method to description color space and range is borrowing V4L2
defined, It's difficult to understand, so we change to DRM defined
property.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I7eacc60dfda912b9becae1ce026cdb82eebef7f8
* commit 'ef84fb2dc967e18e44e13c42e2ea3e85d8d7f2a0':
UPSTREAM: sched/fair: Use all little CPUs for CPU-bound workloads
drm/rockchip: vop2: remove ARGB2101010 support from VOP2
drm/rockchip: vop2: hdisplay must roundup 2/4 when calc pre_scan_dly
media: rockchip: vicap get_channel_info add param of field to cover value from get_fmt
media: i2c: rk628: add hdmirxphy debugfs
media: rockchip: vicap increase wake up cnt for rv1126/rk3568 monitor mode
media: i2c: maxim: remote: record the status of the serializer
misc: rk628: Fix `warning: `rk628_pin_iomux_groups` defined but not used`
misc: rk628: Fix the NULL in .suspend/.resume helper when working on hdmi tx mode.
arm64: dts: rockchip: add pd_perihp support for rk3399 usb2
Change-Id: I74e34fdd098bb791609848cb634c204bc2b501cb
Running N CPU-bound tasks on an N CPUs platform:
- with asymmetric CPU capacity
- not being a DynamIq system (i.e. having a PKG level sched domain
without the SD_SHARE_PKG_RESOURCES flag set)
.. might result in a task placement where two tasks run on a big CPU
and none on a little CPU. This placement could be more optimal by
using all CPUs.
Testing platform:
Juno-r2:
- 2 big CPUs (1-2), maximum capacity of 1024
- 4 little CPUs (0,3-5), maximum capacity of 383
Testing workload ([1]):
Spawn 6 CPU-bound tasks. During the first 100ms (step 1), each tasks
is affine to a CPU, except for:
- one little CPU which is left idle.
- one big CPU which has 2 tasks affine.
After the 100ms (step 2), remove the cpumask affinity.
Behavior before the patch:
During step 2, the load balancer running from the idle CPU tags sched
domains as:
- little CPUs: 'group_has_spare'. Cf. group_has_capacity() and
group_is_overloaded(), 3 CPU-bound tasks run on a 4 CPUs
sched-domain, and the idle CPU provides enough spare capacity
regarding the imbalance_pct
- big CPUs: 'group_overloaded'. Indeed, 3 tasks run on a 2 CPUs
sched-domain, so the following path is used:
group_is_overloaded()
\-if (sgs->sum_nr_running <= sgs->group_weight) return true;
The following path which would change the migration type to
'migrate_task' is not taken:
calculate_imbalance()
\-if (env->idle != CPU_NOT_IDLE && env->imbalance == 0)
as the local group has some spare capacity, so the imbalance
is not 0.
The migration type requested is 'migrate_util' and the busiest
runqueue is the big CPU's runqueue having 2 tasks (each having a
utilization of 512). The idle little CPU cannot pull one of these
task as its capacity is too small for the task. The following path
is used:
detach_tasks()
\-case migrate_util:
\-if (util > env->imbalance) goto next;
After the patch:
As the number of failed balancing attempts grows (with
'nr_balance_failed'), progressively make it easier to migrate
a big task to the idling little CPU. A similar mechanism is
used for the 'migrate_load' migration type.
Improvement:
Running the testing workload [1] with the step 2 representing
a ~10s load for a big CPU:
Before patch: ~19.3s
After patch: ~18s (-6.7%)
Similar issue reported at:
https://lore.kernel.org/lkml/20230716014125.139577-1-qyousef@layalina.io/
Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Acked-by: Qais Yousef <qyousef@layalina.io>
Link: https://lore.kernel.org/r/20231206090043.634697-1-pierre.gondois@arm.com
(cherry picked from commit 3af7524b14198f5159a86692d57a9f28ec9375ce)
Change-Id: Ibfd3ed5fc36ed067d1223603aac336dae11b4ce0
Signed-off-by: Liang Chen <cl@rock-chips.com>
At RK3568 and RK3588 platform, cluster only can support AFBC XRGB2101010 and
not support ARGB2101010.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: If0695793ea102fdd10be2bcffd6bd428149da646
When use GKI, if the driver is Buildin and there is a reference
clock, the driver start to Probe after clk's ko load, but this clk
will failed if the parent clock is gpll and gpll has not been
initialized in Pmucru.
GKI err log:
dw-apb-uart ff158000.serial: error -EINVAL: clock rate not defined
dw-apb-uart: probe of ff158000.serial failed with error -22
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ib587ac3594fef94133f12e3f39d42995131067f5
1. update vop afbc format define according to vop2;
2. add afbc modifiers format support for px30 win1.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I54a878a01188466fa94b30468d163c6a31385809
splice mode: hdisplay must roundup as 4 pixel,
no splice mode: hdisplay must roundup as 2 pixel.
otherwise will lead to POST_BUF_EMPTY and display black screen.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I0971a052751c411acef8ed2fcfd9f142caa37598
If sample_flat field is set to 1, there can't be any sound.
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: CTS test HF2-86
Change-Id: I8f2ddfa3c5a7578a28c062817c10de2ea43ad164
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Type: Fix
Redmine ID: N/A
Associated N/A
Test: Some sources have high bit error rate,
resulting in a black screen.
Change-Id: Ibf928d96bb853cf45dc7d49827de2649c2263526
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
The wake-up button status must be consistent with the configuration in
'rockchip,pm-config'.
Change-Id: I518e1f148225cd7adc07408d54138f5d4cb3f603
Signed-off-by: Jkand Huang <jkand.huang@rock-chips.com>