Ignoring GPU with VG and FE2.0 message in etnaviv_gpu driver

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Ignoring GPU with VG and FE2.0 message in etnaviv_gpu driver

1,688 Views
kenlin
Contributor II

Hi,

I used kernel 4.6 running on iMx6 dual core platform and  found some etnavi drivers error messages like “etnaviv-gpu 2204000.gpu: hw init failed: -6”, “etnaviv-gpu 2204000.gpu: Ignoring GPU with VG and FE2.0”.

Please see the related commit info below.

http://kernel.suse.com/cgit/kernel/commit/?h=v4.5-rc2&id=b98c66887ee1aec661dcb88fe17399d5d112ed98

Is there's anyone can comment on this ?

[    1.948713] [drm] Initialized drm 1.1.0 20060810

[    1.967629] etnaviv gpu-subsystem: bound 134000.gpu (ops gpu_ops)

[    1.973886] etnaviv gpu-subsystem: bound 130000.gpu (ops gpu_ops)

[    1.980077] etnaviv gpu-subsystem: bound 2204000.gpu (ops gpu_ops)

[    1.986307] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007

[    2.025242] etnaviv-gpu 130000.gpu: model: GC2000, revision: 5108

[    2.067795] etnaviv-gpu 2204000.gpu: model: GC355, revision: 1215

[    2.073942] etnaviv-gpu 2204000.gpu: Ignoring GPU with VG and FE2.0

[    2.080230] etnaviv-gpu 2204000.gpu: hw init failed: -6

drivers/gpu/drm/etnaviv/etnaviv_gpu.c

int etnaviv_gpu_init(struct etnaviv_gpu *gpu)

{

        int ret, i;

        struct iommu_domain *iommu;

       enum etnaviv_iommu_version version;

        bool mmuv2;

        ret = pm_runtime_get_sync(gpu->dev);

        if (ret < 0)

return ret;

etnaviv_hw_identify(gpu);

        if (gpu->identity.model == 0) {

dev_err(gpu->dev, "Unknown GPU model\n");

ret = -ENXIO;

goto fail;

        }

        /* Exclude VG cores with FE2.0 */

        if (gpu->identity.features & chipFeatures_PIPE_VG &&

gpu->identity.features & chipFeatures_FE20) {

dev_info(gpu->dev, "Ignoring GPU with VG and FE2.0\n");

ret = -ENXIO;

goto fail;

        }

}

drivers/gpu/drm/etnaviv/etnaviv_drv.c

static void load_gpu(struct drm_device *dev)

{

        struct etnaviv_drm_private *priv = dev->dev_private;

        unsigned int i;

        for (i = 0; i < ETNA_MAX_PIPES; i++) {

struct etnaviv_gpu *g = priv->gpu[i];

if (g) {

int ret;

ret = etnaviv_gpu_init(g);

if (ret) {

dev_err(g->dev, "hw init failed: %d\n", ret);

priv->gpu[i] = NULL;

}

}

        }

}

Labels (4)
0 Kudos
3 Replies

916 Views
borisbignumb
Contributor II

Hi, I have the same message. And it seems that it only means that etnaviv doesn't support gpu_vg today (the driver is still in development .). I think it's only used to support OpenVG, so if you don't need it just skip it in your devicetree, like i did:

gpu-subsystem {          compatible = "fsl,imx-gpu-subsystem";          cores = <&gpu_2d>, <&gpu_3d>;     };

instead of 

gpu-subsystem {          compatible = "fsl,imx-gpu-subsystem";          cores = <&gpu_2d>, <&gpu_3d>, <&gpu_vg>;     };

916 Views
fabio_estevam
NXP Employee
NXP Employee

I would suggest you to post this to the dri-devel@lists.freedesktop.org mailing list and also put in CC the folks that are mentioned in the commit you pointed to.

916 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ken

etnaviv is open source vivante gpu driver project (https://github.com/laanwj/etna_viv)

https://blog.visucore.com/

http://www.cnx-software.com/2013/01/11/etnaviv-project-vivante-gcxxx-gpu-open-source-driver/

one can post this on its wiki:

https://github.com/laanwj/etna_viv/wiki

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos