Lines Matching defs:i2c

83 /* bit banging i2c */
87 struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
88 struct radeon_device *rdev = i2c->dev->dev_private;
89 struct radeon_i2c_bus_rec *rec = &i2c->rec;
92 mutex_lock(&i2c->mutex);
94 /* RV410 appears to have a bug where the hw i2c in reset
95 * holds the i2c port in a bad state - switch hw i2c away before
157 struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
158 struct radeon_device *rdev = i2c->dev->dev_private;
159 struct radeon_i2c_bus_rec *rec = &i2c->rec;
171 mutex_unlock(&i2c->mutex);
176 struct radeon_i2c_chan *i2c = i2c_priv;
177 struct radeon_device *rdev = i2c->dev->dev_private;
178 struct radeon_i2c_bus_rec *rec = &i2c->rec;
191 struct radeon_i2c_chan *i2c = i2c_priv;
192 struct radeon_device *rdev = i2c->dev->dev_private;
193 struct radeon_i2c_bus_rec *rec = &i2c->rec;
205 struct radeon_i2c_chan *i2c = i2c_priv;
206 struct radeon_device *rdev = i2c->dev->dev_private;
207 struct radeon_i2c_bus_rec *rec = &i2c->rec;
218 struct radeon_i2c_chan *i2c = i2c_priv;
219 struct radeon_device *rdev = i2c->dev->dev_private;
220 struct radeon_i2c_bus_rec *rec = &i2c->rec;
229 /* hw i2c */
311 DRM_ERROR("i2c: unhandled radeon chip\n");
318 /* hw i2c engine for r1xx-4xx hardware
324 struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
325 struct radeon_device *rdev = i2c->dev->dev_private;
326 struct radeon_i2c_bus_rec *rec = &i2c->rec;
371 DRM_ERROR("gpio not supported with hw i2c\n");
386 DRM_ERROR("gpio not supported with hw i2c\n");
405 DRM_ERROR("gpio not supported with hw i2c\n");
421 DRM_ERROR("gpio not supported with hw i2c\n");
445 DRM_ERROR("gpio not supported with hw i2c\n");
481 DRM_DEBUG("i2c write error 0x%08x\n", tmp);
513 DRM_DEBUG("i2c read error 0x%08x\n", tmp);
541 DRM_DEBUG("i2c write error 0x%08x\n", tmp);
571 /* hw i2c engine for r5xx hardware
577 struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
578 struct radeon_device *rdev = i2c->dev->dev_private;
579 struct radeon_i2c_bus_rec *rec = &i2c->rec;
639 DRM_ERROR("failed to get i2c bus\n");
656 DRM_ERROR("gpio not supported with hw i2c\n");
689 DRM_DEBUG("i2c write error 0x%08x\n", tmp);
731 DRM_DEBUG("i2c read error 0x%08x\n", tmp);
774 DRM_DEBUG("i2c write error 0x%08x\n", tmp);
810 struct radeon_i2c_chan *i2c = i2c_get_adapdata(i2c_adap);
811 struct radeon_device *rdev = i2c->dev->dev_private;
812 struct radeon_i2c_bus_rec *rec = &i2c->rec;
815 mutex_lock(&i2c->mutex);
841 /* XXX fill in hw i2c implementation */
858 /* XXX fill in hw i2c implementation */
868 /* XXX fill in hw i2c implementation */
875 /* XXX fill in hw i2c implementation */
878 DRM_ERROR("i2c: unhandled radeon chip\n");
883 mutex_unlock(&i2c->mutex);
908 struct radeon_i2c_chan *i2c;
915 i2c = kzalloc(sizeof(struct radeon_i2c_chan), GFP_KERNEL);
916 if (i2c == NULL)
919 i2c->rec = *rec;
920 i2c->adapter.owner = THIS_MODULE;
921 i2c->adapter.dev.parent = dev->dev;
922 i2c->dev = dev;
923 i2c_set_adapdata(&i2c->adapter, i2c);
924 mutex_init(&i2c->mutex);
930 /* set the radeon hw i2c adapter */
931 snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
932 "Radeon i2c hw bus %s", name);
933 i2c->adapter.algo = &radeon_i2c_algo;
934 ret = i2c_add_adapter(&i2c->adapter);
940 /* hw i2c using atom */
941 snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
942 "Radeon i2c hw bus %s", name);
943 i2c->adapter.algo = &radeon_atom_i2c_algo;
944 ret = i2c_add_adapter(&i2c->adapter);
949 snprintf(i2c->adapter.name, sizeof(i2c->adapter.name),
950 "Radeon i2c bit bus %s", name);
951 i2c->adapter.algo_data = &i2c->bit;
952 i2c->bit.pre_xfer = pre_xfer;
953 i2c->bit.post_xfer = post_xfer;
954 i2c->bit.setsda = set_data;
955 i2c->bit.setscl = set_clock;
956 i2c->bit.getsda = get_data;
957 i2c->bit.getscl = get_clock;
958 i2c->bit.udelay = 10;
959 i2c->bit.timeout = usecs_to_jiffies(2200); /* from VESA */
960 i2c->bit.data = i2c;
961 ret = i2c_bit_add_bus(&i2c->adapter);
963 DRM_ERROR("Failed to register bit i2c %s\n", name);
968 return i2c;
970 kfree(i2c);
975 void radeon_i2c_destroy(struct radeon_i2c_chan *i2c)
977 if (!i2c)
979 WARN_ON(i2c->has_aux);
980 i2c_del_adapter(&i2c->adapter);
981 kfree(i2c);
1069 DRM_DEBUG("i2c 0x%02x 0x%02x read failed\n",
1091 DRM_DEBUG("i2c 0x%02x 0x%02x write failed\n",