* You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "nvhost_hwctx.h" #include "nvhost_channel.h" #include "host1x/host1x.h" #include "host1x/host1x01_hardware.h" #include "gr3d.h" #include "chip_support.h" #include "nvhost_memmgr.h" #include <linux/slab.h> static const struct hwctx_reginfo ctxsave_regs_3d_global[] = { HWCTX_REGINFO(0xe00, 4, DIRECT), HWCTX_REGINFO(0xe05, 30, DIRECT), HWCTX_REGINFO(0xe25, 2, DIRECT), HWCTX_REGINFO(0xe28, 2, DIRECT), HWCTX_REGINFO(0x001, 2, DIRECT), HWCTX_REGINFO(0x00c, 10, DIRECT), HWCTX_REGINFO(0x100, 34, DIRECT), HWCTX_REGINFO(0x124, 2, DIRECT), HWCTX_REGINFO(0x200, 5, DIRECT), HWCTX_REGINFO(0x205, 1024, INDIRECT), HWCTX_REGINFO(0x207, 1024, INDIRECT), HWCTX_REGINFO(0x209, 1, DIRECT), HWCTX_REGINFO(0x300, 64, DIRECT), HWCTX_REGINFO(0x343, 25, DIRECT), HWCTX_REGINFO(0x363, 2, DIRECT), HWCTX_REGINFO(0x400, 16, DIRECT),
#include "dev.h" #include "host1x/host1x02_hardware.h" #include "gr3d.h" #include "chip_support.h" #include "nvhost_memmgr.h" #include "nvhost_scale.h" #include "nvhost_job.h" #include "nvhost_acm.h" #include "class_ids.h" #include <linux/slab.h> #include <linux/scatterlist.h> #include <mach/gpufuse.h> static const struct hwctx_reginfo ctxsave_regs_3d_per_pipe[] = { HWCTX_REGINFO(0xc30, 1, DIRECT), HWCTX_REGINFO(0xc40, 1, DIRECT), HWCTX_REGINFO(0xc50, 1, DIRECT) }; static const struct hwctx_reginfo ctxsave_regs_3d_global[] = { /* bug 962360. Reg 0xe44 has to be the first one to be restored*/ HWCTX_REGINFO_RST(0x40e, 1, DIRECT, 0xe44), HWCTX_REGINFO(0xe00, 35, DIRECT), HWCTX_REGINFO(0xe25, 2, DIRECT), HWCTX_REGINFO(0xe28, 2, DIRECT), HWCTX_REGINFO(0x001, 2, DIRECT), HWCTX_REGINFO(0x00c, 10, DIRECT), HWCTX_REGINFO(0x100, 34, DIRECT), HWCTX_REGINFO(0x124, 2, DIRECT), HWCTX_REGINFO(0x200, 5, DIRECT),
#include "nvhost_hwctx.h" #include "dev.h" #include "host1x/host1x_hardware.h" #include "host1x/host1x_syncpt.h" #include "gr3d.h" #include <mach/gpufuse.h> #include <mach/hardware.h> #include <linux/slab.h> /* 99 > 2, which makes kernel panic if register set is incorrect */ static int register_sets = 99; static const struct hwctx_reginfo ctxsave_regs_3d_global[] = { HWCTX_REGINFO(0xe00, 4, DIRECT), HWCTX_REGINFO(0xe05, 30, DIRECT), HWCTX_REGINFO(0xe25, 2, DIRECT), HWCTX_REGINFO(0xe28, 2, DIRECT), HWCTX_REGINFO(0xe30, 16, DIRECT), HWCTX_REGINFO(0x001, 2, DIRECT), HWCTX_REGINFO(0x00c, 10, DIRECT), HWCTX_REGINFO(0x100, 34, DIRECT), HWCTX_REGINFO(0x124, 2, DIRECT), HWCTX_REGINFO(0x200, 5, DIRECT), HWCTX_REGINFO(0x205, 1024, INDIRECT), HWCTX_REGINFO(0x207, 1024, INDIRECT), HWCTX_REGINFO(0x209, 1, DIRECT), HWCTX_REGINFO(0x300, 64, DIRECT), HWCTX_REGINFO(0x343, 25, DIRECT), HWCTX_REGINFO(0x363, 2, DIRECT),
* * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "nvhost_hwctx.h" #include "nvhost_dev.h" const struct hwctx_reginfo ctxsave_regs_3d[] = { HWCTX_REGINFO(0xe00, 16, DIRECT), HWCTX_REGINFO(0xe10, 16, DIRECT), HWCTX_REGINFO(0xe20, 1, DIRECT), HWCTX_REGINFO(0xe21, 1, DIRECT), HWCTX_REGINFO(0xe22, 1, DIRECT), HWCTX_REGINFO(0xe25, 1, DIRECT), HWCTX_REGINFO(0xe26, 1, DIRECT), HWCTX_REGINFO(0xe28, 2, DIRECT), HWCTX_REGINFO(0xe2a, 1, DIRECT), HWCTX_REGINFO(0x1, 1, DIRECT), HWCTX_REGINFO(0x2, 1, DIRECT), HWCTX_REGINFO(0xc, 2, DIRECT), HWCTX_REGINFO(0xe, 2, DIRECT), HWCTX_REGINFO(0x10, 2, DIRECT), HWCTX_REGINFO(0x12, 2, DIRECT), HWCTX_REGINFO(0x14, 2, DIRECT),