[RFC PATCH] drm/panfrost: Add initial panfrost driver

Neil Armstrong narmstrong at baylibre.com
Fri Mar 8 08:20:22 UTC 2019


On 08/03/2019 01:24, Rob Herring wrote:
> From: "Marty E. Plummer" <hanetzer at startmail.com>
> 
> This adds the initial driver for panfrost which supports Arm Mali
> Midgard and Bifrost family of GPUs. Currently, only the T860 Midgard GPU
> has been tested.
> 
> Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Maxime Ripard <maxime.ripard at bootlin.com>
> Cc: Sean Paul <sean at poorly.run>
> Cc: David Airlie <airlied at linux.ie>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: Alyssa Rosenzweig <alyssa at rosenzweig.io>
> Cc: Lyude Paul <lyude at redhat.com>
> Cc: Eric Anholt <eric at anholt.net>
> Signed-off-by: Marty E. Plummer <hanetzer at startmail.com>
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
> Signed-off-by: Rob Herring <robh at kernel.org>
> ---

<snip>

> +
> +static const struct panfrost_model gpu_models[] = {
> +	/* T60x has an oddball version */
> +	GPU_MODEL(t600, 0x6956, 0xffff,
> +		GPU_REV_EXT(t600, 0, 0, 1, _15dev0)),
> +	GPU_MODEL_MIDGARD(t620, 0x620,
> +		GPU_REV(t620, 0, 1), GPU_REV(t620, 1, 0)),
> +	GPU_MODEL_MIDGARD(t720, 0x720),
> +	GPU_MODEL_MIDGARD(t760, 0x750,
> +		GPU_REV(t760, 0, 0), GPU_REV(t760, 0, 1),
> +		GPU_REV_EXT(t760, 0, 1, 0, _50rel0),
> +		GPU_REV(t760, 0, 2), GPU_REV(t760, 0, 3)),
> +	GPU_MODEL_MIDGARD(t820, 0x820),
> +	GPU_MODEL_MIDGARD(t830, 0x830),
> +	GPU_MODEL_MIDGARD(t860, 0x860),
> +	GPU_MODEL_MIDGARD(t880, 0x880),
> +
> +	GPU_MODEL_BIFROST(g71, 0x6000,
> +		GPU_REV_EXT(g71, 0, 0, 1, _05dev0)),
> +	GPU_MODEL_BIFROST(g72, 0x6001),
> +	GPU_MODEL_BIFROST(g51, 0x7000),
> +	GPU_MODEL_BIFROST(g76, 0x7001),
> +	GPU_MODEL_BIFROST(g52, 0x7002),
> +	GPU_MODEL_BIFROST(g31, 0x7003,
> +		GPU_REV(g31, 1, 0)),

G31 r0p0 should be supported, the Amlogic G12A has it :

[   98.036507] mali ffe40000.gpu: GPU identified as 0x3 arch 7.0.9 r0p0 status 0

as reported by mali_kbase.

Neil

> +};
> +
> +static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
> +{
> +	u32 gpu_id, num_js, major, minor, status, rev;
> +	const char *name = "unknown";
> +	u64 hw_feat = 0;
> +	u64 hw_issues = hw_issues_all;
> +	const struct panfrost_model *model;
> +	int i;

<snip>

> +#endif
> +
> +#endif /* _PANFROST_DRM_H_ */
> 



More information about the dri-devel mailing list