[PATCH v2 2/4] media: rockchip: Introduce the rkvdec2 driver

Krzysztof Kozlowski krzk at kernel.org
Thu Jun 20 03:30:00 PDT 2024


On 19/06/2024 16:57, Detlev Casanova wrote:
> +static const char * const rkvdec2_clk_names[] = {
> +	"axi",
> +	"ahb",
> +	"core",
> +	"cabac",
> +	"hevc_cabac",
> +};
> +
> +/*
> + * Some SoCs, like RK3588 have multiple identical vdpu34x cores, but the
> + * kernel is currently missing support for multi-core handling. Exposing
> + * separate devices for each core to userspace is bad, since that does
> + * not allow scheduling tasks properly (and creates ABI). With this workaround
> + * the driver will only probe for the first core and early exit for the other
> + * cores. Once the driver gains multi-core support, the same technique
> + * for detecting the main core can be used to cluster all cores together.
> + */
> +static int rkvdec2_disable_multicore(struct rkvdec2_dev *rkvdec)
> +{
> +	const char *compatible;
> +	struct device_node *node;
> +	int ret;
> +
> +	/* Intentionally ignores the fallback strings */
> +	ret = of_property_read_string(rkvdec->dev->of_node, "compatible", &compatible);
> +	if (ret)
> +		return ret;
> +
> +	/* first compatible node found from the root node is considered the main core */

So you rely on order of nodes? Before you claim "identical cores", but
now "main core" suggests one is different than others.

...

Best regards,
Krzysztof




More information about the Linux-rockchip mailing list