summaryrefslogtreecommitdiff
path: root/shared/radeon_state.c
AgeCommit message (Expand)Author
2005-03-15add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear filtering onRoland Scheidegger
2005-02-10add support for texture micro tiling for radeon/r200. Add support for cubeRoland Scheidegger
2005-02-10Stephane's port of Eric's race fixKeith Whitwell
2005-02-07Cast user data to correct type in radeon_surface_free's copyin.Roland Scheidegger
2005-01-26(Stephane Marchesin,me) Add radeon framebuffer tiling support to radeonRoland Scheidegger
2005-01-26replace magic number with macro constant RADEON_ZBLOCK16Roland Scheidegger
2004-12-08(Stephane Marchesin, me) add hyperz support to radeon drm. Only fast zRoland Scheidegger
2004-10-23Apply radeon r300 microcode patch to non-coreDave Airlie
2004-09-27Fix the shared directory I accidentally stomped onJon Smirl
2004-09-27First check in for DRM that splits core from personality modulesJon Smirl
2004-09-05merge back bunch of whitespace and misc changes from kernelDave Airlie
2004-08-30drm-memory patch, cleans up alloc/free and makes calloc look more libc likeDave Airlie
2004-08-24Merged drmfntbl-0-0-2Dave Airlie
2004-08-17Merged drmfntbl-0-0-1Dave Airlie
2004-07-25sync up with current 2.6 kernel bk tree - mostly __user annotationsDave Airlie
2004-07-15sparse cleanups from kernel: Al ViroDave Airlie
2004-07-05whitespace align with kernelDave Airlie
2004-05-18fix whitespace issue in previous patchRoland Scheidegger
2004-05-18add R200_EMIT_RB3D_BLENDCOLOR state packet to support GL_EXT_blend_color,Roland Scheidegger
2004-04-08fixes from Linux kernelDave Airlie
2004-01-10Make sure that all state packets are handled inMichel Daenzer
2004-01-10R200_PP_CUBIC_OFFSET_F1_[0-6] state packets only contain 5 offsets, not 6Michel Daenzer
2003-11-04Memory layout transition:Michel Daenzer
2003-08-26Remove artificial PCI GART limitations, rename AGP to GART whereMichel Daenzer
2003-06-16Possibly fix stanford checker complaints about sareaKeith Whitwell
2003-06-10Texture rectangle support for r100Keith Whitwell
2003-06-09Revert bogus last commitKeith Whitwell
2003-06-09Don't activate blend fallbacks unless blending is enabledKeith Whitwell
2003-04-22add more get_param queries for embedded projectKeith Whitwell
2003-03-28merged drm-filp-0-1-branchKeith Whitwell
2003-02-06fix EAGAIN handling in radeon_cp_dispatch_texture() (fixes corruption ofMichel Daenzer
2003-01-26Add cast to avoid void * arithmetic warningLeif Delgass
2002-12-06Rewrite radeon_cp_dispatch_texture() to avoid pingponging back to userspaceKeith Whitwell
2002-10-29preserve CRTC{,2}_OFFSET_CNTL in 2D driver to avoid bad effects whenMichel Daenzer
2002-10-28merge from mesa-4-1-branch to get cube-map registers. bumped version to 1.7Brian Paul
2002-09-25change RADEON_PARAM_IRQ_ACTIVE to RADEON_PARAM_IRQ_NRMichel Daenzer
2002-09-23merged r200-0-2-branch to trunkKeith Whitwell
2002-08-29standardize use of __FUNCTION__ (Linus)Keith Whitwell
2002-08-26merged r200-0-1-branchKeith Whitwell
2002-08-12zero-cliprect case patch from JacekKeith Whitwell
2002-08-11test scratch register writeback before using itMichel Daenzer
2002-07-18fix off-by-one error for right bottom corner in radeon_emit_clip_rect()Michel Daenzer
2002-07-17Workaround for Radeon lockups on fast machinesTim Smith
2002-07-11Don't read scratch registers directly, obtain the values via the GET_PARAMMichel Daenzer
2002-07-05merged bsd-3-0-0-branchAlan Hourihane
opt">->dev_private; struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; val = RADEON_READ(rec->get_clk_reg); val &= rec->get_clk_mask; return (val != 0); } static int get_data(void *i2c_priv) { struct radeon_i2c_chan *i2c = i2c_priv; struct drm_radeon_private *dev_priv = i2c->dev->dev_private; struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; val = RADEON_READ(rec->get_data_reg); val &= rec->get_data_mask; return (val != 0); } static void set_clock(void *i2c_priv, int clock) { struct radeon_i2c_chan *i2c = i2c_priv; struct drm_radeon_private *dev_priv = i2c->dev->dev_private; struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; val = RADEON_READ(rec->put_clk_reg) & (uint32_t)~(rec->put_clk_mask); val |= clock ? 0 : rec->put_clk_mask; RADEON_WRITE(rec->put_clk_reg, val); } static void set_data(void *i2c_priv, int data) { struct radeon_i2c_chan *i2c = i2c_priv; struct drm_radeon_private *dev_priv = i2c->dev->dev_private; struct radeon_i2c_bus_rec *rec = &i2c->rec; uint32_t val; val = RADEON_READ(rec->put_data_reg) & (uint32_t)~(rec->put_data_mask); val |= data ? 0 : rec->put_data_mask; RADEON_WRITE(rec->put_data_reg, val); } struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev, struct radeon_i2c_bus_rec *rec, const char *name) { struct radeon_i2c_chan *i2c; int ret; i2c = drm_calloc(1, sizeof(struct radeon_i2c_chan), DRM_MEM_DRIVER); if (i2c == NULL) return NULL; i2c->adapter.owner = THIS_MODULE; i2c->adapter.id = I2C_HW_B_RADEON; i2c->adapter.algo_data = &i2c->algo; i2c->dev = dev; i2c->algo.setsda = set_data; i2c->algo.setscl = set_clock; i2c->algo.getsda = get_data; i2c->algo.getscl = get_clock; i2c->algo.udelay = 20; i2c->algo.timeout = usecs_to_jiffies(2200); i2c->algo.data = i2c; i2c->rec = *rec; i2c_set_adapdata(&i2c->adapter, i2c); ret = i2c_bit_add_bus(&i2c->adapter); if (ret) { DRM_INFO("Failed to register i2c %s\n", name); goto out_free; } return i2c; out_free: drm_free(i2c, sizeof(struct radeon_i2c_chan), DRM_MEM_DRIVER); return NULL; } void radeon_i2c_destroy(struct radeon_i2c_chan *i2c) { if (!i2c) return; i2c_del_adapter(&i2c->adapter); drm_free(i2c, sizeof(struct radeon_i2c_chan), DRM_MEM_DRIVER); } struct drm_encoder *radeon_best_encoder(struct drm_connector *connector) { return NULL; }