Displaying 20 results from an estimated 37 matches for "nvkm_i2c_aux".
2024 Jun 02
0
[PATCH] drm/nouveau/i2c: rename aux.c and aux.h to nvkm_i2c_aux.c and nvkm_i2c_aux.h
...| 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgf119.c | 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c | 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c | 2 +-
> .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.c => nvkm_i2c_aux.c} | 2 +-
> .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.h => nvkm_i2c_aux.h} | 0
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c | 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c | 2 +-
> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgm2...
2024 Jun 02
0
[PATCH] drm/nouveau/i2c: rename aux.c and aux.h to nvkm_i2c_aux.c and nvkm_i2c_aux.h
...subdev/i2c/auxg94.c | 2 +-
>>> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgf119.c | 2 +-
>>> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c | 2 +-
>>> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c | 2 +-
>>> ? .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.c => nvkm_i2c_aux.c}?? |
>>> 2 +-
>>> ? .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.h => nvkm_i2c_aux.h}?? | 0
>>> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c | 2 +-
>>> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c | 2 +-
>>> drivers/gpu/drm/nouveau/nvkm/subde...
2024 Jun 03
0
[PATCH] drm/nouveau/i2c: rename aux.c and aux.h to nvkm_i2c_aux.c and nvkm_i2c_aux.h
.../i2c/auxgf119.c | 2 =
> +-
> >> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxgm200.c | 2 =
> +-
> >> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/base.c | 2 =
> +-
> >> .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.c =3D3D> nvkm_i2c_aux.c} =
> | 2 +-
> >> .../gpu/drm/nouveau/nvkm/subdev/i2c/{aux.h =3D3D> nvkm_i2c_aux.h} =
> | 0
> >> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padg94.c | 2 =
> +-
> >> drivers/gpu/drm/nouveau/nvkm/subdev/i2c/padgf119.c | 2 =
&g...
2019 Apr 09
2
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...0000 ES: 0000 CR0: 0000000080050033
CR2: 00005630d1500358 CR3: 0000000417c44006 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
g94_i2c_aux_xfer+0x326/0x850 [nouveau]
nvkm_i2c_aux_i2c_xfer+0x9e/0x140 [nouveau]
__i2c_transfer+0x14b/0x620
i2c_smbus_xfer_emulated+0x159/0x680
? _raw_spin_unlock_irqrestore+0x1/0x60
? rt_mutex_slowlock.constprop.0+0x13d/0x1e0
? __lock_is_held+0x59/0xa0
__i2c_smbus_xfer+0x138/0x5a0
i2c_smbus_xfer+0x4f/0x80
i2cdev_ioctl_smbus...
2019 Apr 11
1
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...30d1500358 CR3: 0000000417c44006 CR4: 00000000003606e0
> > DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> > DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> > Call Trace:
> > g94_i2c_aux_xfer+0x326/0x850 [nouveau]
> > nvkm_i2c_aux_i2c_xfer+0x9e/0x140 [nouveau]
> > __i2c_transfer+0x14b/0x620
> > i2c_smbus_xfer_emulated+0x159/0x680
> > ? _raw_spin_unlock_irqrestore+0x1/0x60
> > ? rt_mutex_slowlock.constprop.0+0x13d/0x1e0
> > ? __lock_is_held+0x59/0xa0
> > __i2c_smbus_xfer+0...
2019 Apr 10
0
[PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini()
...050033
> CR2: 00005630d1500358 CR3: 0000000417c44006 CR4: 00000000003606e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> g94_i2c_aux_xfer+0x326/0x850 [nouveau]
> nvkm_i2c_aux_i2c_xfer+0x9e/0x140 [nouveau]
> __i2c_transfer+0x14b/0x620
> i2c_smbus_xfer_emulated+0x159/0x680
> ? _raw_spin_unlock_irqrestore+0x1/0x60
> ? rt_mutex_slowlock.constprop.0+0x13d/0x1e0
> ? __lock_is_held+0x59/0xa0
> __i2c_smbus_xfer+0x138/0x5a0
> i2c_smbus_x...
2020 Jul 14
0
[PATCH AUTOSEL 5.7 15/19] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index c8ab1b5741a3e..db7769cb33eba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Jul 14
0
[PATCH AUTOSEL 5.4 14/18] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index c8ab1b5741a3e..db7769cb33eba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Jul 14
0
[PATCH AUTOSEL 4.19 12/13] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index c8ab1b5741a3e..db7769cb33eba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Jul 14
0
[PATCH AUTOSEL 4.14 12/12] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index c8ab1b5741a3e..db7769cb33eba 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Jul 14
0
[PATCH AUTOSEL 4.9 10/10] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index 954f5b76bfcf7..d44965f805fe9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Jul 14
0
[PATCH AUTOSEL 4.4 9/9] drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
...a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
index 954f5b76bfcf7..d44965f805fe9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/auxg94.c
@@ -118,10 +118,10 @@ g94_i2c_aux_xfer(struct nvkm_i2c_aux *obj, bool retry,
if (retries)
udelay(400);
- /* transaction request, wait up to 1ms for it to complete */
+ /* transaction request, wait up to 2ms for it to complete */
nvkm_wr32(device, 0x00e4e4 + base, 0x00010000 | ctrl);
- timeout = 1000;
+ timeout = 2000;
do {
ctrl = n...
2020 Apr 24
2
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...veau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f15..85eac85 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ po...
2019 Jul 15
1
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...au_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 0d052e1660f8..7a87b0f808a7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {0};
int ret;
aux = nv_encoder->aux;
@@ -73,6 +74,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ p...
2019 Aug 26
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...au_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f1587457..85eac853e3f8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ po...
2023 Jul 07
2
[PATCH] drm/nouveau/nvkm/dp: Add hack to fix DP 1.3+ DPCD issues
...gt;dp.rates != 0;
}
+/* XXX: This is a big fat hack, and this is just drm_dp_read_dpcd_caps()
+ * converted to work inside nvkm. This is a temporary holdover until we start
+ * passing the drm_dp_aux device through NVKM
+ */
+static int
+nvkm_dp_read_dpcd_caps(struct nvkm_outp *outp)
+{
+ struct nvkm_i2c_aux *aux = outp->dp.aux;
+ u8 dpcd_ext[DP_RECEIVER_CAP_SIZE];
+ int ret;
+
+ ret = nvkm_rdaux(aux, DPCD_RC00_DPCD_REV, outp->dp.dpcd, DP_RECEIVER_CAP_SIZE);
+ if (ret < 0)
+ return ret;
+
+ /*
+ * Prior to DP1.3 the bit represented by
+ * DP_EXTENDED_RECEIVER_CAP_FIELD_PRESENT was reserved....
2019 Jul 15
0
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...eau/nouveau_dp.c
> index 0d052e1660f8..7a87b0f808a7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_dp.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
> @@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
> struct nouveau_drm *drm = nouveau_drm(dev);
> struct nvkm_i2c_aux *aux;
> u8 dpcd[8];
> + u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {0};
IIRC clang will complain about {0}. How about we make this a {}.
Regardless of the above nitpick, the series is:
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Thanks for the follow-up :-)
Emil
2019 Jul 25
0
[PATCH v3 5/5] drm/nouveau: utilize subconnector property for DP
...au_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 0d052e1660f8..dce77830be39 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -73,6 +74,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ po...
2019 Aug 29
0
[PATCH v4 5/7] drm/nouveau: utilize subconnector property for DP
...au_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f1587457..85eac853e3f8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ po...
2020 Apr 01
0
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...veau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index 2674f15..85eac85 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ po...